array_udiff()
是 PHP 中的一个内置函数,用于计算两个或多个数组之间的差集。这意味着,它将返回一个新数组,其中包含了在第一个数组中存在但在其他数组中不存在的元素。与 array_diff()
函数相比,array_udiff()
允许你使用自定义的比较函数来确定元素之间的差异。
函数原型:
array array_udiff(array $array1, array $array2, array $_ = null, callable $data_compare_func);
参数说明:
$array1
,$array2
,$_
:需要比较的数组。$data_compare_func
:用于比较数组元素的自定义函数。该函数应接受两个参数,并返回一个整数值,表示它们之间的差异。如果返回值为正数,则表示第一个参数大于第二个参数;如果返回值为负数,则表示第一个参数小于第二个参数;如果返回值为零,则表示两个参数相等。
下面是一个使用 array_udiff()
函数的示例:
$a, $b) { if ($a < $b) { return -1; } elseif ($a > $b) { return 1; } else { return 0; } } $array1 = array(1, 2, 3, 4, 5); $array2 = array(3, 4, 5, 6, 7); $result = array_udiff($array1, $array2, 'compare_values'); print_r($result); ?>
输出结果:
Array ( [0] => 1 [1] => 2 )
在这个示例中,我们定义了一个名为 compare_values()
的自定义比较函数,用于比较两个数字。然后,我们使用 array_udiff()
函数计算 $array1
和 $array2
之间的差集。最后,我们打印出结果数组,可以看到它包含了在 $array1
中存在但在 $array2
中不存在的元素(1 和 2)。