array_diff_key() Function
PHP的这个内建函数用于获取一个或多个数组之间的差异。这个函数比较一个或多个数组之间的键,并返回它们之间的差值。因此,该函数通常根据键比较两个数组,并返回第一个数组中而不是其他输入数组中出现的元素。
注意:这个函数不同于array_diff()和array_diff_assoc()。第一个只使用值进行比较。第二种方法同时使用键和值进行比较。其中as array_diff_key()只使用键进行比较。
语法
1 | array array_diff_key($array1, $array2, $array3, ..., $array_n) |
参数:函数可以取任意数量的数组作为需要比较的参数。
返回类型:该函数将第一个参数数组的键与其他数组进行比较,并返回一个数组,其中包含来自$array1的所有条目,这些条目在任何其他数组中都不存在。
例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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 [30] => RAVI [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 ) |
下面的程序演示了array_diff_key()在PHP中的工作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php // PHP code to illustrate the // array_diff_assoc() 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_assoc($array1, $array2, $array3)); ?> |
输出
1 2 3 4 5 6 7 | Array ( [20] => LAXMAN [30] => RAVI [40] => KISHAN [50] => RISHI ) |
参考