PHP array_diff_key() 函数用法及示例

PHP Array 函数手册

定义和用法

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(可选)

它是一个要与第一个数组进行比较的数组

返回值

 array_diff_key() 返回一个数组,该数组包括了所有出现在 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
(
)

在线示例

以下示例示范使用array_diff_key()数组函数-

<?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 Array 函数手册