PHP PHP array_intersect_key() 函数:比较两个数组的键名,并返回交集

kevensuu · 2019-12-02 17:37:11

定义和用法

array_intersect_key() 函数用于比较两个(或更多个)数组的键名 ,并返回交集。

该函数比较两个(或更多个)数组的键名,并返回一个交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2array3 等等)中的键名。

语法

array_intersect_key(array1,array2,array3...)
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3,… 可选。与第一个数组进行比较的其他数组。

技术细节

返回值: 返回一个交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2array3 等等)中的键名。
PHP 版本: PHP 5 >= 5.1.0, PHP 7

实例

<?php
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_key($array1, $array2));
?>

以上例程会输出:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

上例中可以看到只有 ‘blue’‘green’ 两个键名出现在两个数组中,因此被返回。此外注意 ‘blue’‘green’ 的值在两个数组中是不同的。但因为只检查键名,因此还是匹配。返回的值只是 array1 中的。

为您推荐与 php数组函数 相关的帖子:

共收到 1 条回复

The 节点ID must be greater than 0.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册