2011-11-11 306 views
0

说我有一个相同的结构,像这样一对夫妇多维动数组:合并多维数组(PHP)

Array ([0] => Tips Object ([id] => 1 [userId] => 10) 
    [1] => Tips Object ([id] => 2 [userId] => 22) 
    [2] => Tips Object ([id] => 3 [userId] => 33) 
    [3] => Tips Object ([id] => 7 [userId] => 77)) 


Array ([0] => Tips Object ([id] => 2 [userId] => 22) 
    [1] => Tips Object ([id] => 3 [userId] => 33) 
    [2] => Tips Object ([id] => 4 [userId] => 44) 
    [3] => Tips Object ([id] => 5 [userId] => 55) 
    [4] => Tips Object ([id] => 6 [userId] => 66)) 

我需要一种方式,一种方式来合并它们,所以我会得到这样的:

Array ([0] => Tips Object ([id] => 1 [userId] => 10) 
    [1] => Tips Object ([id] => 2 [userId] => 22) 
    [2] => Tips Object ([id] => 3 [userId] => 33) 
    [3] => Tips Object ([id] => 4 [userId] => 44) 
    [4] => Tips Object ([id] => 5 [userId] => 55) 
    [5] => Tips Object ([id] => 6 [userId] => 66) 
    [6] => Tips Object ([id] => 7 [userId] => 77)) 

真正的多维数组将会更复杂,这个只是为了帮助解释我需要的东西。

谢谢!

+0

哪里用户ID 20和30的最终阵列中? – Tudor

+0

我已更改我的问题,请帮忙 – Sagar

+0

哪种语言? –

回答

0
$array1=array( 0=>array('id'=>'1','userid'=>'10'), 
       1=>array('id'=>'2','userid'=>'22'), 
       2=>array('id'=>'3','userid'=>'33'), 
       3=>array('id'=>'7','userid'=>'77')); 

$array2=array( 0=>array('id'=>'2','userid'=>'22'), 
       1=>array('id'=>'3','userid'=>'33'), 
       2=>array('id'=>'4','userid'=>'44'), 
       3=>array('id'=>'5','userid'=>'55'), 
       4=>array('id'=>'6','userid'=>'66')); 

echo "<pre>"; 

$mix = array(); 
foreach($array2 as $k=>$value) 
{ 
    if(!in_array($value,array_values($array1))){ 
     $array1[] = $value; 
    } 
} 


function sortById($a, $b) { 
    return $a['id'] - $b['id']; 
} 
usort($array1, 'sortById'); 
print_r($array1); 
exit;