array_uintersect_uassoc
带索引检查计算数组的交集,用单独的回调函数比较数据和索引
array_uintersect_uassoc()
函数比较两个(或更多个)数组的键名和键值,并返回交集。
注释:该函数使用两个用户自定义函数进行比较;第一个函数比较键名,第二个函数比较键值!
该函数比较两个(或更多个)数组的键名和键值,并返回交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键名和键值。
注意,与 array_uintersect()
不同的是键名也要比较。键值和键名(索引)都是用回调函数比较的。
比较两个数组的键名和键值(使用用户自定义函数进行比较),并返回交集(匹配):
<?php function myfunction_key($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } function myfunction_value($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"green","c"=>"green"); $result=array_uintersect_uassoc($a1,$a2,"myfunction_key","myfunction_value"); print_r($result); ?>
亲自试一试