1
$cat1=array("_id"=>new MongoId("562918fc2bad8c345d000029"),"name"=>"Category Two"); 


$cat2=array("_id"=>new MongoId("562918e62bad8c445d000029"), 
"name"=>"Category One"); 

$categories=array(); 

$categories=array_merge($cat1,$cat2); 

print_r($categories); 

mais il revient comme suivreComment fusionner un tableau avec des clés dupliquées avec une fusion de tableau?

array("_id"=>new MongoId("562918e62bad8c445d000029"), 
"name"=>"Category One") 

J'ai essayé array_unique trop

array_unique(array_merge($cat1,$cat2)) 

mais le résultat était comme ci-dessus
Je sais que ce ne est pas fusionner les deux ensemble parce que les deux ont même tableau clés. Au lieu de sa fusion dans un second tableau, mais comment puis-je fusionner les deux tableaux de sorte qu'il ressemblera à suivre.

array(array("_id"=>new MongoId("562918fc2bad8c345d000029"),"name"=>"Category Two"),array("_id"=>new MongoId("562918e62bad8c445d000029"), 
    "name"=>"Category One")); 

Jetez un oeil à un code en direct http://viper-7.com/Oaa4zL

+0

quel résultat vous voulez? –

+0

Il devrait être fusionné comme le dernier .. Je l'ai mentionné – phpnerd

Répondre

1

Si vous ne savez pas combien de catégories seront là, alors vous pouvez simplement les pousser vers le tableau.

$allCat = array(); 
$allCat[] = $cat1; 
$allCat[] = $cat2; 
. 
. 
. 
$allCat[] = $catN; 

print_r($allCat); 
+0

est-il poussant? – phpnerd

+1

Oui c'est. Il pousse le tableau category vers le tableau allCat. –

1

Vous pouvez le faire manuellement et les ajouter à la fois à un tableau:

print_r(array(
    $cat1, 
    $cat2 
)); 
1

Pas besoin de les fusionner:

$categories[] = array("_id"=>new MongoId("562918fc2bad8c345d000029"), 
         "name"=>"Category Two"); 

$categories[] = array("_id"=>new MongoId("562918e62bad8c445d000029"), 
         "name"=>"Category One");