更新
これは本当にばかげているように見えますが、純粋なPHPではうまく機能しないため、簡単にメモしてくださいarray_merge
。ただし、急いで反対票を投じる前に、PHP MongoDB ドライバーで試してみてください。その男は何らかの理由でインデックスを追加し、マージされたオブジェクトを台無しにします。私の単純な小さな関数を使用すると、マージは従来のarray_merge
.
array_merge
私はそれが古い質問であることを知っていますが、最近array_replace
MongoDBドライバーのクエリで発生したケースをもう1つ追加したいと思い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;
}