PHP如何使用array_diff_key()函数?代码示例

2021年3月18日15:08:41 发表评论 567 次浏览

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


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: