$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);
но возвращается как следует
array("_id"=>new MongoId("562918e62bad8c445d000029"),
"name"=>"Category One")
Я тоже пробовал array_unique
array_unique(array_merge($cat1,$cat2))
Но результат был такой же, как и выше
Я знаю, что это не объединяет оба массива, потому что оба имеют одинаковые ключи массива.
Вместо этого это слияние второго в первый массив, но как мне объединить оба массива, чтобы он выглядел следующим образом.
array(array( "_id"=>new MongoId("562918fc2bad8c345d000029"),"name"=>"Category Two"),array("_id"=>new MongoId("562918e62bad8c445d000029"),
"name"=>"Category One"));
Посмотрите на живой код
http://viper-7.com/Oaa4zL
Если вы не знаете, сколько будет категорий, вы можете просто поместить их в массив.
$allCat = array();
$allCat[] = $cat1;
$allCat[] = $cat2;
.
.
.
$allCat[] = $catN;
print_r($allCat);
Вы можете сделать это вручную и добавить их оба в массив:
print_r(array(
$cat1,
$cat2
));
Не нужно их объединять
$categories[] = array("_id"=>new MongoId("562918fc2bad8c345d000029"),
"name"=>"Category Two");
$categories[] = array("_id"=>new MongoId("562918e62bad8c445d000029"),
"name"=>"Category One");