array_udiff()
是 PHP 中的一个内置函数,用于比较两个或多个数组的差异。这个函数接受一个回调函数作为参数,该回调函数用于定义如何比较数组元素。
array_udiff()
函数的语法如下:
array_udiff(array $array1, array $array2, [array $...], callable $value_compare_func): array
其中:
$array1
, $array2
, … 是要比较的数组。$value_compare_func
是一个回调函数,用于比较数组元素。这个函数应该返回一个整数,表示两个元素的比较结果。如果返回值为 0,则表示两个元素相等;如果返回值为正数,则表示第一个元素大于第二个元素;如果返回值为负数,则表示第一个元素小于第二个元素。下面是一个使用 array_udiff()
的示例:
<?php
function compare_values($a, $b) {
if ($a == $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(3, 4, 5, 6, 7);
$diff = array_udiff($array1, $array2, 'compare_values');
print_r($diff);
?>
输出结果:
Array
(
[0] => 1
[1] => 2
)
在这个示例中,我们定义了一个名为 compare_values
的回调函数,用于比较数组元素。然后,我们使用 array_udiff()
函数比较 $array1
和 $array2
,并将结果存储在 $diff
变量中。最后,我们使用 print_r()
函数输出结果,显示 $array1
和 $array2
之间的差异。