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 :: Версия для печати :: array_diff не работает
Форумы портала PHP.SU » » Вопросы новичков » array_diff не работает

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

1. Vinyl - 14 Июня, 2013 - 08:47:30 - перейти к сообщению
Всем здравия.
Чота или я туплю, или аномалии какие-то происходят...

PHP:
скопировать код в буфер обмена
  1. echo PHP_EOL.'array1:'.PHP_EOL;
  2. var_dump($t_contexts);
  3.  
  4. echo PHP_EOL.'array2:'.PHP_EOL;
  5. var_dump($f_contexts);
  6.  
  7. echo PHP_EOL.'array_diff(array1,array2):'.PHP_EOL;
  8. var_dump(array_diff ($t_contexts,$f_contexts));
  9.  
  10. echo PHP_EOL.'array_diff_key(array1,array2):'.PHP_EOL;
  11. var_dump(array_diff_key ($t_contexts,$f_contexts));
  12.  
  13. echo PHP_EOL.'array_diff_assoc(array1,array2):'.PHP_EOL;
  14. var_dump(array_diff_assoc ($t_contexts,$f_contexts));


Выдает:

CODE (html):
скопировать код в буфер обмена
  1. array1:
  2. array(2) {
  3.   [1]=>
  4.   string(1) "1"
  5.   [2]=>
  6.   string(1) "2"
  7. }
  8.  
  9. array2:
  10. array(3) {
  11.   [1]=>
  12.   string(1) "1"
  13.   [2]=>
  14.   string(1) "2"
  15.   [5]=>
  16.   int(5)
  17. }
  18.  
  19. array_diff(array1,array2):
  20. array(0) {
  21. }
  22.  
  23. array_diff_key(array1,array2):
  24. array(0) {
  25. }
  26.  
  27. array_diff_assoc(array1,array2):
  28. array(0) {
  29. }
  30.  


Как такое может быть?
2. VenZell - 14 Июня, 2013 - 09:37:19 - перейти к сообщению
Vinyl, эта функция возвращает массив, содержащий элементы array1, отсутствующие в любом из всех остальных массивах. У вас все элементы из первого массива есть во втором, поэтому и возвращается пустой массив. Попробуйте сравнить $f_contexts с $t_contexts.
3. Vinyl - 14 Июня, 2013 - 09:39:39 - перейти к сообщению
Вот это я затупил... Спасибо!

 

Powered by ExBB FM 1.0 RC1