array_intersect_key
array_intersect_key
(PHP 5 >= 5.1.0, PHP 7)
array_intersect_key - 使用键进行比较计算数组的交集
描述
array array_intersect_key ( array $array1 , array $array2 [, array $... ] )
array_intersect_key()
返回一个包含所有条目的数组,其中包含所有array1
参数中存在的键。
参数
array1
要检查的主键的数组。
array2
一个数组来比较键。
...
要比较的数组的变量列表。
返回值
返回一个包含所有条目的关联数组,其中所有条目的array1
键都存在于所有参数中。
示例
示例#1 array_intersect_key()示例
<?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'的值
不同。由于只检查了键,所以仍然会发生匹配。返回的值是array1
。
只有在(字符串)$ key1 ===(字符串)$ key2时,key => value对中的两个键才被认为是相等的。换句话说,执行严格的类型检查,所以字符串表示必须相同。
另请参阅
- array_diff() - 计算数组的差异
- array_udiff() - 通过使用回调函数进行数据比较来计算数组的差异
- array_diff_assoc() - 通过附加索引检查计算数组的差异
- array_diff_uassoc() - 通过用户提供的回调函数执行附加索引检查来计算数组的差异
- array_udiff_assoc() - 通过附加索引检查计算数组的差异,通过回调函数比较数据
- array_udiff_uassoc() - 通过附加索引检查计算数组的差异,通过回调函数比较数据和索引
- array_diff_key() - 使用用于比较的键计算数组的差异
- array_diff_ukey() - 使用键上的回调函数计算数组的差异以进行比较
- array_intersect() - 计算数组的交集
- array_intersect_assoc() - 计算具有额外索引检查的数组的交集
- array_intersect_uassoc()- 计算具有附加索引检查的数组的交集,通过回调函数比较索引
- array_intersect_ukey() - 使用键上的回调函数计算数组的交集以进行比较
← array_intersect_assoc
array_intersect_uassoc →