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
广告