PHP的此内置函数用于获取一个或多个数组之间的差异。此函数比较一个或多个数组之间的键, 并返回它们之间的差。因此, 该函数通常根据其键比较两个数组, 并返回第一个数组中存在的元素, 但其他输入数组中不存在。
注意:此函数不同于array_diff()和array_diff_assoc()。第一个仅使用值进行比较。第二个使用键和值进行比较。其中, array_diff_key()仅使用键进行比较。
语法如下:
array array_diff_key($array1, $array2, $array3, ..., $array_n)
参数:该函数可以采用任意数量的数组作为需要比较的参数。
返回类型:该函数将第一个参数数组的键与其余数组进行比较, 并返回一个数组, 其中包含$ array1中所有其他数组中不存在的所有条目。
例子:
Input :
$array1 = ("10"=>"RAM", "20"=>"LAXMAN", "30"=>"RAVI", "40"=>"KISHAN", "50"=>"RISHI")
$array2 = ("10"=>"RAM", "70"=>"LAXMAN", "30"=>"KISHAN", "80"=>"RAGHAV")
$array3 = ("30"=>"LAXMAN", "80"=>"RAGHAV")
Output :
Array
(
[20] => LAXMAN
[40] => KISHAN
[50] => RISHI
)
Input :
$array1 = ("10"=>"RAM", "20"=>"LAXMAN", "30"=>"RAVI", "40"=>"KISHAN", "50"=>"RISHI");
$array2 = ("10"=>"LAXMAN", "40"=>"RAGHAV", "40"=>"KISHAN");
Output :
Array
(
[10] => RAM
[20] => LAXMAN
[30] => RAVI
[50] => RISHI
)
下面的程序说明了PHP中array_diff_key()的工作方式:
<?php
// PHP code to illustrate the
// array_diff_key() function
// Input Arrays
$array1 = array ( "10" => "RAM" , "20" => "LAXMAN" , "30" => "RAVI" , "40" => "KISHAN" , "50" => "RISHI" );
$array2 = array ( "10" => "RAM" , "70" => "LAXMAN" , "30" => "KISHAN" , "80" => "RAGHAV" );
$array3 = array ( "30" => "LAXMAN" , "80" => "RAGHAV" );
print_r( array_diff_key ( $array1 , $array2 , $array3 ));
?>
输出如下:
Array
(
[20] => LAXMAN
[30] => RAVI
[40] => KISHAN
[50] => RISHI
)
参考
:
http://php.net/manual/en/function.array-diff-key.php