array_intersect_ukey
(PHP 5 >= 5.1.0, PHP 7)
array_intersect_ukey - 使用键上的回调函数计算数组的交集以进行比较
描述
array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )
array_intersect_ukey()返回一个数组,其中包含所有array1
参数中存在匹配键的值。
参数
array1
用于比较数组的初始数组。
array2
第一个数组来比较键。
...
用于比较键的数组参数的变量列表。
key_compare_func
如果第一个参数分别小于,等于或大于第二个参数,则比较函数必须返回小于,等于或大于零的整数。请注意,在PHP 7.0.0之前,此整数必须在-2147483648到2147483647之间。
int callback ( mixed $a, mixed $b )
返回值
返回array1
其所有参数中存在其键的值。
示例
示例#1 array_intersect_ukey()示例
<?php
function?key_compare_func($key1,?$key2)
{
????if?($key1?==?$key2)
????????return?0;
????else?if?($key1?>?$key2)
????????return?1;
????else
????????return?-1;
}
$array1?=?array('blue'??=>?1,?'red'??=>?2,?'green'??=>?3,?'purple'?=>?4);
$array2?=?array('green'?=>?5,?'blue'?=>?6,?'yellow'?=>?7,?'cyan'???=>?8);
var_dump(array_intersect_ukey($array1,?$array2,?'key_compare_func'));
?>
上面的例子将输出:
array(2) {
["blue"]=>
int(1)
["green"]=>
int(3)
}
在我们的例子中,你会发现只有'蓝'和'绿'这两个键出现在两个数组中,因此返回。另请注意,两个数组之间的键'blue'和'green'的值不同。由于只检查了键,所以仍然会发生匹配。返回的值是array1
。
另请参阅
- 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_key() - 使用键比较计算数组的交集
← array_intersect_uassoc
array_intersect →
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com