array_udiff()
函数用于比较两个或多个数组,并返回一个新数组,其中包含了与其他数组不同的元素。这个函数需要一个用户自定义的回调函数来确定数组元素是否相等。
下面是一个 array_udiff()
的示例代码及其解析:
<?php
function compare_values($value1, $value2) {
if ($value1 == $value2) {
return 0;
} elseif ($value1 > $value2) {
return 1;
} else {
return -1;
}
}
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(3, 4, 5, 6, 7);
$result = array_udiff($array1, $array2, 'compare_values');
print_r($result);
?>
解析:
首先,我们定义了一个名为 compare_values
的回调函数,该函数接受两个参数($value1
和 $value2
)。这个函数用于比较两个数组元素的大小。如果它们相等,返回 0;如果 $value1
大于 $value2
,则返回 1;否则返回 -1。
然后,我们创建了两个数组 $array1
和 $array2
,分别包含一些整数。
使用 array_udiff()
函数比较这两个数组。这个函数需要三个参数:第一个数组、第二个数组以及回调函数的名称(在本例中为 ‘compare_values’)。
将结果存储在 $result
变量中,并使用 print_r()
函数输出结果。在这个例子中,输出的结果应该是:
Array
(
[0] => 1
[1] => 2
)
这表示 $array1
中与 $array2
不同的元素是 1 和 2。