UPDATE
Nur eine kurze Anmerkung, wie ich sehen kann, sieht das wirklich dumm aus, und es hat keine gute Verwendung mit reinem PHP, weil das array_merge
nur dort funktioniert. ABER versuchen Sie es mit dem PHP MongoDB-Treiber, bevor Sie schnell abstimmen. Dieser Typ wird aus irgendeinem Grund Indizes hinzufügen und das zusammengeführte Objekt ruinieren. Mit meiner naiven kleinen Funktion kommt die Verschmelzung genau so heraus, wie es mit einer traditionellen Funktion beabsichtigt war array_merge
.
Ich weiß , es ist eine alte Frage , aber ich möchte einen weiteren Fall füge ich mit MongoDB - Treiber - Abfragen und keiner hatte vor kurzem array_merge
, array_replace
noch array_push
gearbeitet. Ich hatte eine etwas komplexe Struktur von Objekten, die als Arrays in Arrays verpackt waren:
$a = [
["a" => [1, "a2"]],
["b" => ["b1", 2]]
];
$t = [
["c" => ["c1", "c2"]],
["b" => ["b1", 2]]
];
Und ich musste sie zusammenführen und dabei die gleiche Struktur beibehalten:
$merged = [
["a" => [1, "a2"]],
["b" => ["b1", 2]],
["c" => ["c1", "c2"]],
["b" => ["b1", 2]]
];
Die beste Lösung, die ich gefunden habe, war folgende:
public static function glueArrays($arr1, $arr2) {
// merges TWO (2) arrays without adding indexing.
$myArr = $arr1;
foreach ($arr2 as $arrayItem) {
$myArr[] = $arrayItem;
}
return $myArr;
}