(PHP 5 >= 5.3.0, PHP 7, PHP 8)
array_replace — Ersetzt Elemente von übergebenen Arrays im ersten Array
array_replace() erstellt ein neues Array und fügt für jeden Schlüssel aus den übergebenen Arrays die entsprechenden Elemente hinzu. Wenn ein Schlüssel in mehreren der übergebenen Arrays existiert, wird der Wert des Schlüssels aus dem weiter rechts stehenden Array übernommen.
array_replace() verarbeitet die Elemente nicht rekursiv, sondern ersetzt bei jeder Ersetzung den Wert jedes Schlüssels vollständig.
array
Das Array in welchem die Elemente ersetzt werden.
replacements
Arrays, aus denen Elemente extrahiert werden. Werte späterer Arrays überschreiben die vorherigen Werte.
Gibt ein array zurück.
Beispiel #1 array_replace()-Beispiel
<?php
$base = array("Orange", "Banane", "Apfel", "Himbeere");
$replacements = array(0 => "Ananas", 4 => "Kirsche");
$replacements2 = array(0 => "Traube");
$basket = array_replace($base, $replacements, $replacements2);
var_dump($basket);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(5) { [0]=> string(5) "Traube" [1]=> string(6) "Banane" [2]=> string(5) "Apfel" [3]=> string(9) "Himbeere" [4]=> string(6) "Kirsche" }
Beispiel #2 Beispiel für die Behandlung von verschachtelten Arrays
<?php
$base = [ 'Zitrusfrüchte' => [ 'Orange', 'Zitrone' ], 'Kernobst' => [ 'Apfel' ] ];
$replacements = [ 'Zitrusfrüchte' => [ 'Grapefruit' ] ];
$replacements2 = [ 'Zitrusfrüchte' => [ 'Kumquat', 'Zitronatzitrone' ], 'Kernobst' => [ 'Loquat' ] ];
$basket = array_replace($base, $replacements, $replacements2);
var_dump($basket);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(2) { ["Zitrusfrüchte"]=> array(2) { [0]=> string(7) "Kumquat" [1]=> string(6) "Zitronatzitrone" } ["Kernobst"]=> array(1) { [0]=> string(6) "Loquat" } }