温馨提示×

php比较数组差异的方法array_udiff

PHP
小樊
83
2024-09-06 00:46:24
栏目: 编程语言

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 之间的差异。

0