函式名稱:array_diff_uassoc()
函式描述:該函式用於比較兩個或更多個陣列的鍵值,並返回存在於第一個陣列中但不存在於其他陣列中的鍵值對。
用法:
array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func ) : array
引數:
- $array1: 第一個陣列。
- $array2: 第二個陣列,與第一個陣列進行比較。
- $...: 可選引數,可傳入更多的陣列。
- $key_compare_func: 指定用於比較鍵名的回撥函式。
回撥函式格式:
int callback ( mixed $a, mixed $b )
回撥函式接受兩個引數 $a 和 $b,根據需要,返回一個整數值表示$a與$b的大小關係。當$a == $b時返回0,當$a > $b時返回正數,當$a < $b時返回負數。
示例:
function compareKeys($a, $b) {
if ($a == $b) {
return 0;
} elseif ($a > $b) {
return 1;
} else {
return -1;
}
}
$array1 = array("a" => "red", "b" => "green", "c" => "blue");
$array2 = array("a" => "red", "b" => "yellow", "c" => "blue");
$result = array_diff_uassoc($array1, $array2, "compareKeys");
print_r($result);
輸出結果:
Array
(
[b] => green
)
在這個示例中,我們定義了一個回撥函式 compareKeys() 來比較鍵名。然後我們透過使用 array_diff_uassoc() 函式,將 $array1 與 $array2 進行比較。根據鍵名比較的結果,函式返回了 $array1 中不存在於 $array2 中的鍵名對應的鍵值對,即 [b] => green。