array_udiff()
函數在 PHP 中用于計算兩個或多個數組之間的差集,即返回在第一個數組中存在但在其他數組中不存在的元素。與 array_diff()
不同的是,array_udiff()
允許你使用自定義的比較函數來確定元素是否相等。
array_udiff()
函數的參數如下:
array1
:必需。要比較的第一個數組。array2
:必需。要與第一個數組進行比較的數組。可以提供多個數組。data_compare_func
:必需。用于比較數組元素的自定義函數。該函數應接受兩個參數,并返回一個整數值,表示它們的關系:
示例:
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);
$result = array_udiff($array1, $array2, "compare_values");
print_r($result); // 輸出:Array ( [0] => 1 [1] => 2 )
在這個示例中,我們定義了一個名為 compare_values
的自定義比較函數,然后使用 array_udiff()
函數計算 $array1
和 $array2
之間的差集。結果數組包含在 $array1
中存在但在 $array2
中不存在的元素(1 和 2)。