©
本文档使用 PHP中文网手册 发布
(PHP 5, PHP 7)
array_intersect_uassoc — 带索引检查计算数组的交集,用回调函数比较索引
$array1
, array $array2
[, array $ ...
], callable $key_compare_func
) array_intersect_uassoc() 返回一个数组,该数组包含了所有在
array1
中也同时出现在所有其它参数数组中的值。注意和
array_intersect() 不同的是键名也用于比较。
array1
Initial array for comparison of the arrays.
array2
First array to compare keys against.
array
Variable list of array arguments to compare values against.
key_compare_func
在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。
$a
, mixed $b
)
Returns the values of array1
whose values exist
in all of the arguments.
Example #1 array_intersect_uassoc() 例子
<?php
$array1 = array( "a" => "green" , "b" => "brown" , "c" => "blue" , "red" );
$array2 = array( "a" => "GREEN" , "B" => "brown" , "yellow" , "red" );
print_r ( array_intersect_uassoc ( $array1 , $array2 , "strcasecmp" ));
?>
以上例程会输出:
Array ( [b] => brown )
[#1] swapniltiwhane at gmail dot com [2013-07-16 12:04:59]
$a = array(
array(
'id' => 15,
'name' => 'John',
'color' => 'red',
),
array(
'id' => 22,
'name' => 'Elise',
'color' => 'blue',
),
array(
'id' => 30,
'name' => 'Mark',
'color' => 'red',
),
);
$b = array(
array(
'id' => 15,
'name' => 'Nancy',
'color' => 'black',
),
array(
'id' => 20,
'name' => 'Elise',
'color' => 'blue',
),
array(
'id' => 30,
'name' => 'Mark',
'color' => 'red',
),
array(
'id' => 40,
'name' => 'John',
'color' => 'orange',
),
);
function compare_ids($a, $b)
{
return ((bool)($a['id'] - $b['id']));
}
print_r(array_intersect_uassoc($a, $b, "compare_ids"));