2011-11-11 333 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;