Неожиданные результаты, когда функция обратного вызова array_udiff() возвращает либо 0, либо 1 [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Неожиданные результаты, когда функция обратного вызова array_udiff() возвращает либо 0, либо 1 [дубликат]

Сообщение Anonymous »

$a = array(1,2,3,4,5);
$b = array(1,6,3,4,5);
echo "
";
print_r(array_udiff($a,$b,function($a,$b){
return ($a === $b)? 0:1;
}));


Как сказано в руководстве:
Он должен возвращать массив, содержащий все значения массива1, которых нет ни в одном из других аргументов.
Если нужно сравнивать только два массива, я думаю, это будет похоже на array_diff().

Я ожидаю, что это вернет:

Array
(
[0] => 2
)


Однако результат:

Array
(
[0] => 1
[1] => 2
[2] => 3
[4] => 5
)
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»