2011-05-16 71 views
1

在我有一个关联数组这样:比较2个阵列中存在相同的多维数组

Array 
(
[0] => Array 
    (
     [0] => Array 
      (
       [0] => name=>Jose 
       [1] => email=>[email protected] 
      ) 

     [1] => Array 
      (
       [0] => name=>Adriana 
       [1] => email=>[email protected] 
      ) 

    ) 


[1] => Array 
    (
     [0] => Array 
      (
       [0] => name=>Jose 
       [1] => email=>[email protected] 
      ) 

     [1] => Array 
      (
       [0] => name=>Maria 
       [1] => email=>[email protected] 
      ) 
    ) 
) 

我想收集所有成员的所有电子邮件地址。 Jose有两个电子邮件地址,Maria 1和Adriana 1.我如何比较在多维数组中共存的2个数组?

我想是这样的:

Array 
(
[0] => Array 
(
[0] => name=>Jose 
[1] => firstemail=>[email protected] 
[2] => secondemail=>[email protected] 
) 

[1] => Array 
(
[0] => name=>Adriana 
[1] => firstemail=>[email protected] 

) 

[2] => Array 
(

[0] => name=>Maria 
[1] => firstemail=>[email protected] 

) 
) 

在此先感谢!

回答

1

像这样

$finalarray = array(); 

foreach ($inputarray as $subarray) { 
    foreach($subarray as $entry) { 
    if (!array_key_exists($entry["name"], $finalarray)) { 
     $finalarray[$entry["name"]] = array(); 
    } 
    array_push($finalarray[$entry["name"]], $entry["email"]); 
    } 
}