array_udiff()
函数用于比较两个或多个数组,并返回一个新数组,其中包含了与其他数组不同的元素。这个函数需要一个用户自定义的回调函数来确定数组元素是否相等。
下面是一个 array_udiff()
的示例代码及其解析:
$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。