更新
只是一个简短的说明,正如我所看到的那样,这看起来真是愚蠢,它在纯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) {
$myArr = $arr1;
foreach ($arr2 as $arrayItem) {
$myArr[] = $arrayItem;
}
return $myArr;
}