更新
只是一个简短的说明,因为我可以看到这看起来很愚蠢,并且它与纯 PHP 没有什么用处,因为它array_merge
只是在那里工作。但是,在您急于投反对票之前,请尝试使用 PHP MongoDB 驱动程序。那个家伙会出于任何原因添加索引,并且会破坏合并的对象。使用我幼稚的小功能,合并的结果与传统的array_merge
.
我知道这是一个老问题,但我想再添加一个我最近使用 MongoDB 驱动程序查询的案例,但没有一个array_merge
,array_replace
也没有array_push
工作。我在数组中包装为数组的对象结构有点复杂:
$a = [
["a" => [1, "a2"]],
["b" => ["b1", 2]]
];
$t = [
["c" => ["c1", "c2"]],
["b" => ["b1", 2]]
];
我需要合并它们以保持相同的结构,如下所示:
$merged = [
["a" => [1, "a2"]],
["b" => ["b1", 2]],
["c" => ["c1", "c2"]],
["b" => ["b1", 2]]
];
我想出的最佳解决方案是:
public static function glueArrays($arr1, $arr2) {
// merges TWO (2) arrays without adding indexing.
$myArr = $arr1;
foreach ($arr2 as $arrayItem) {
$myArr[] = $arrayItem;
}
return $myArr;
}