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) }