日期:2014-05-17  浏览次数:20431 次

php 求这样的两个数组的特殊交集,看似简单其实不然
$x=array(
  array("a",2),
  array("b",4),
  array("e",3)
);
$y=array("b","f");

要求得到这样的结果:
array(
  array("b",4),
  array("f",0)
)

讲下思路,就是要以$y为依据来产生新数组,因为$y有两个元素,所以新数组也要有两个元素;因为$x中有b,所以b就取$x的值即4;又因为$x中没f,所以f取0
PHP怎么得到那样的结果啊?感激不尽!

------解决方案--------------------
PHP code

foreach($x as $v) $tmp[$v[0]]=$v[1];
foreach($y as $b)
    $ar[]=array($b,$tmp[$b] ? $tmp[$b] : 0);
        
print_r($ar);