Wie kann ich eine tiefe Erweiterung eines mehrdimensionalen assoziativen Arrays (für die Verwendung mit decodierten JSON-Objekten) tun. Ich brauche die PHP-Entsprechung von jQuery's $.extend(true, array1, array2)
mit Arrays anstelle von JSON und in PHP.PHP Deep Extend Array
Hier ist ein Beispiel dafür, was ich brauche
$array1 = ('1'=> ('a'=>'array1a', 'b'=>'array1b'));
$array2 = ('1'=> ('a'=>'array2a', 'c'=>'array2b'));
$array3 = array_extend($array1, $array2);
//$array3 = ('1'=> ('a'=>'array2a', 'b'=>'array1b', 'c'=>'array2b'))
Beachten Sie, wie array2 Überschreibungen Array1 wenn es denselben Wert hat (wie, wie Erweiterung von Klassen funktioniert)
(array_merge_recursive nicht die gleiche Sache zu tun haben scheinen)
Warum nicht array_merge? – Dev
Wenn Sie PHP 5.3.0+ haben, können Sie ['array_replace_recursive'] (http://www.php.net/manual/en/function.array-replace-recursive.php) verwenden, was genau das tut, was Sie brauchen. – Sathvik
Ich hatte noch keine Zeit, alle Antworten zu überprüfen, aber array_replace_recursive scheint definitiv der einfachste Weg, dies zu erreichen. Willst du es als Antwort schreiben und ich akzeptiere? –