
PHP array_intersect_ukey() 函数用回调函数比较键名来计算数组的交集
语法
array_intersect_ukey ( $array1, $array2 [, $array3..., callback $key_compare_func] );
定义和用法
array_intersect_ukey() 函数用于比较两个(或更多个)数组的键名 ,并返回交集。
注释:该函数使用用户自定义函数比较键名!
该函数比较两个(或更多个)数组的键名,并返回一个交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键名。
参数
| 序号 | 参数及说明 |
|---|---|
| 1 | array1(必填) 第一个数组是其他数组将与之比较的数组。 |
| 2 | array2(必填) 这是一个要与第一个数组进行比较的数组 |
| 3 | array3(选填) 这是一个要与第一个数组进行比较的数组 |
| 4 | key_compare_func(必填) 用户定义的回调函数。 |
返回值
它返回一个包含array1的所有值的数组,这些值具有在所有参数中都存在的匹配键。如果有任何错误,它将返回FALSE。
在线示例
<?php
function key_compare_func($k1, $k2) {
if ($k1 == $k2)
return 0;
else if ($k1 > $k2)
return 1;
else
return -1;
}
$input1 = array('blue'=>1, 'red'=>2, 'green'=>3, 'purple'=>4);
$input2 = array('green'=>5, 'blue'=>6, 'pink'=>7, 'black'=>8);
$result = array_intersect_ukey($input1, $input2, "key_compare_func");
var_dump($result);
?>测试看看‹/›输出结果:
array(2) {
["blue"]=>
int(1)
["green"]=>
int(3)
}