Сбивает с толку тот факт, что обе функции array_diff() и array_udiff() дают одинаковые результаты при базовом сравнении двух плоских массивов.
Код:
Код: Выделить всё
echo "array_udiff()";
$a = array('a'=>'apple', 'c'=>'cat', 'b'=>'book');
$b = array('d'=>'dog');
echo "
";
print_r(array_udiff($a, $b, function($a, $b) {
if ($a < $b) {
return -1;
} elseif ($a > $b) {
return 1;
} else {
return 0;
}
}));
echo "array_diff()";
print_r(array_diff($a, $b));
Код: Выделить всё
array_udiff()
Array
(
[a] => apple
[b] => cat
[c] => book
)
array_diff()
Array
(
[a] => apple
[b] => cat
[c] => book
)
Мобильная версия