在PHP 中, array_diff_key()是一個用於計算兩個數組差集的函數。它會返回一個數組,其中包含所有存在於第一個數組但不存在於第二個數組的鍵值對。這個函數基於數組的鍵來進行比較,而不是值。
array_diff_key(array $array1, array $array2, array ...$arrays): array
$array1
這是要進行比較的第一個數組。
$array2
這是要與$array1進行比較的第二個數組。該數組中的鍵會被從$array1中移除。
$arrays (可選)
可以傳遞更多的數組來進行比較, array_diff_key()會將這些數組中的鍵從$array1中移除。
該函數返回一個新的數組,包含在$array1中存在但在$array2或其他傳遞的數組中不存在的所有鍵值對。
以下是使用array_diff_key()函數的示例:
<?php
$array1 = [
"apple" => 1,
"banana" => 2,
"cherry" => 3
];
$array2 = [
"banana" => 2,
"cherry" => 3
];
$result = array_diff_key($array1, $array2);
print_r($result);
?>
輸出:
Array
(
[apple] => 1
)
在這個示例中, array_diff_key()會比較$array1和$array2 ,並且返回一個包含鍵"apple"的新數組,因為這個鍵只在$array1中存在,而不在$array2中。
你也可以傳遞多個數組給array_diff_key() ,它會比較$array1和其他所有數組中的鍵,返回包含$array1中存在但不在其他數組中的鍵值對。
<?php
$array1 = [
"apple" => 1,
"banana" => 2,
"cherry" => 3,
"date" => 4
];
$array2 = [
"banana" => 2,
"cherry" => 3
];
$array3 = [
"apple" => 1,
"date" => 4
];
$result = array_diff_key($array1, $array2, $array3);
print_r($result);
?>
輸出:
Array
(
[banana] => 2
)
在這個示例中, array_diff_key()比較了$array1和$array2 、 $array3 ,並返回了包含鍵"banana"的數組,因為它只在$array1中出現,但在$array2和$array3中都有。
array_diff_key()是基於鍵的比較,而不是值。所以它不會考慮數組中的值,僅僅是對鍵進行操作。
如果你傳遞了多個數組,函數將比較這些數組的鍵,並返回一個包含$array1中獨有鍵的數組。
如果某個鍵在所有數組中都有,結果中將不會包含這個鍵。
如果你想查看更多關於array_diff_key()函數的詳細文檔,參考以下鏈接: