📜  PHP | array_diff_key()函数

📅  最后修改于: 2022-05-13 01:56:32.541000             🧑  作者: Mango

PHP | array_diff_key()函数

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
)

下面的程序说明了 array_diff_key() 在PHP中的工作:

"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/函数.array-diff-key。 PHP