array_udiff()
是 PHP 中的一個內(nèi)置函數(shù),用于比較兩個或多個數(shù)組的差異。這個函數(shù)接受一個回調(diào)函數(shù)作為參數(shù),該回調(diào)函數(shù)用于定義如何比較數(shù)組元素。
array_udiff()
函數(shù)的語法如下:
array_udiff(array $array1, array $array2, [array $...], callable $value_compare_func): array
其中:
$array1
, $array2
, … 是要比較的數(shù)組。$value_compare_func
是一個回調(diào)函數(shù),用于比較數(shù)組元素。這個函數(shù)應(yīng)該返回一個整數(shù),表示兩個元素的比較結(jié)果。如果返回值為 0,則表示兩個元素相等;如果返回值為正數(shù),則表示第一個元素大于第二個元素;如果返回值為負數(shù),則表示第一個元素小于第二個元素。下面是一個使用 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);
?>
輸出結(jié)果:
Array
(
[0] => 1
[1] => 2
)
在這個示例中,我們定義了一個名為 compare_values
的回調(diào)函數(shù),用于比較數(shù)組元素。然后,我們使用 array_udiff()
函數(shù)比較 $array1
和 $array2
,并將結(jié)果存儲在 $diff
變量中。最后,我們使用 print_r()
函數(shù)輸出結(jié)果,顯示 $array1
和 $array2
之間的差異。