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版本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 )