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()
的示例:
$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
之间的差异。