如何使用数组合并将数组与重复键合并?

时间:2015-10-22 17:32:02

标签: php arrays multidimensional-array array-merge array-unique

$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

3 个答案:

答案 0 :(得分:1)

您可以手动完成并将它们添加到数组中:

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

答案 1 :(得分:1)

如果您不知道会有多少类别,那么您只需将它们推送到阵列即可。

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

print_r($allCat);

答案 2 :(得分:1)

无需合并它们:

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

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