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
之間的差異。