PHP array_diff_key() 函式



定義和用法

array_diff_key() 函式比較來自 array1與來自 array2, array3…等的鍵,並返回一個包含差異的陣列,即在 array1 中存在但在 array2, array3…等中不存在的鍵。此函式類似於 array_diff() 函式,但比較基於鍵而不是值。

語法

array array_diff_key ( array $array1, array $array2 [, array $...] );

引數

序號 引數及描述
1

array1 (必需)

將與之進行比較的第一個陣列。

2

array2 (必需)

與第一個陣列進行比較的陣列。

3

array3 (可選)

與第一個陣列進行比較的陣列。

返回值

此函式返回一個數組,其中包含來自 array1 的所有鍵,但這些鍵在傳遞給函式的其他任何陣列中都不存在。

PHP 版本

此函式首次引入於 PHP 5.1.0 版本。

示例

此示例返回 4 和 5 的值,因為前三個鍵 (0、1 和 2) 在兩個陣列中都相同,儘管它們的值不同:

<?php
   $input1 = array(1, 2, 3, 4, 5);
   $input2 = array(4, 5, 6);

   $result = array_diff_key($input1, $input2);
   print_r($result);
?>

這將產生以下結果:

Array
(
    [3] => 4
    [4] => 5
)

示例

此示例返回空陣列,因為 array_diff_key() 比較鍵而不是值,因為它發現兩個陣列具有相同的鍵,儘管值不同,因此它沒有發現任何差異:

<?php
   $input4 = array(1, 2, 3);
   $input5 = array(4, 5, 6);
 
   $result = array_diff_key($input4, $input5);
   print_r($result);
?>

這將產生以下結果:

Array
(
)

示例

嘗試以下示例:

<?php
   $input1 = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow", "f"=>"yellow");
   $input2 = array("a"=>"red","b"=>"green","c"=>"blue");

   $result = array_diff_key($input1, $input2);
   print_r($result);
?>

這將產生以下結果:

Array
(
    [d] => yellow
    [f] => yellow
)
php_function_reference.htm
廣告