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));
?>
output:
Array
(
[20] => LAXMAN
[30] => RAVI
[40] => KISHAN
[50] => RISHI
)