當前位置: 首頁> 最新文章列表> array_diff_key() 的基本語法與參數說明

array_diff_key() 的基本語法與參數說明

M66 2025-06-06

在PHP 中, array_diff_key()是一個用於計算兩個數組差集的函數。它會返回一個數組,其中包含所有存在於第一個數組但不存在於第二個數組的鍵值對。這個函數基於數組的鍵來進行比較,而不是值。

基本語法

array_diff_key(array $array1, array $array2, array ...$arrays): array

參數說明:

  1. $array1
    這是要進行比較的第一個數組。

  2. $array2
    這是要與$array1進行比較的第二個數組。該數組中的鍵會被從$array1中移除。

  3. $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()函數的詳細文檔,參考以下鏈接:

PHP 官方文檔:array_diff_key()