Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: неправильно сравнивает элементы массива
Форумы портала PHP.SU » » Вопросы новичков » неправильно сравнивает элементы массива

Страниц (1): [1]
 

1. eramar - 21 Сентября, 2011 - 16:00:10 - перейти к сообщению
Не могу понять в чем дело.
У меня есть массив:
print_r($date_arr2);
вот его содержимое:
Array ( [0] => 20 сентября 2011 [1] => 8 сентября 2011 [2] => 8 сентября 2011 [3] => 8 сентября 2011 [4] => 8 сентября 2011 [5] => 8 сентября 2011 [6] => 8 сентября 2011 [7] => 8 сентября 2011 [8] => 5 сентября 2011 [9] => 4 сентября 2011 [10] => 4 сентября 2011 [11] => 4 сентября 2011 [12] => 4 августа 2011 )
PHP:
скопировать код в буфер обмена
  1. $i=0;
  2. while($res=mysql_fetch_array($query))
  3. {
  4. $notice_date=writeTime2($user_time, $format2);
  5. $user_time=$res['nc_time'];
  6. $date_arr2[]=$notice_date;
  7. $d1=$date_arr2[$i-1];
  8. $d2=$date_arr2[$i];
  9.         if($d1 != $d2)
  10.         {
  11.                 echo "не совпадают <br>";
  12.         }
  13.         if($d1 == $d2)
  14.         {
  15.                 echo "совпадают <br>";
  16.         }
  17. $i++;
  18. }


$d1 и $d2
в некоторых случаях одинаковые, например
[6] => 8 сентября 2011 [7] => 8 сентября 2011

но всегда входит в if($d1 != $d2)

не могу понять в чем дело, помогите, пожалуйста!
2. Viper - 21 Сентября, 2011 - 16:04:15 - перейти к сообщению
eramar var_dump() массива сделайте. вам покажет что к чему.
3. eramar - 21 Сентября, 2011 - 16:15:09 - перейти к сообщению
array(13) { [0]=> string(125) " 20 сентября 2011 " [1]=> string(125) " 8 сентября 2011 " [2]=> string(125) " 8 сентября 2011 " [3]=> string(125) " 8 сентября 2011 " [4]=> string(125) " 8 сентября 2011 " [5]=> string(125) " 8 сентября 2011 " [6]=> string(125) " 8 сентября 2011 " [7]=> string(125) " 8 сентября 2011 " [8]=> string(125) " 5 сентября 2011 " [9]=> string(125) " 4 сентября 2011 " [10]=> string(125) " 4 сентября 2011 " [11]=> string(125) " 4 сентября 2011 " [12]=> string(122) " 4 августа 2011 " }

вроде все нормально
4. Viper - 21 Сентября, 2011 - 16:25:33 - перейти к сообщению
eramar а если сравнить не после обработки а непосредственно из массива по индексу? Т.е.
PHP:
скопировать код в буфер обмена
  1. if ($arr[6] == $arr[7]) echo 'Совпали';

 

Powered by ExBB FM 1.0 RC1