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。