Ersetzen Sie die Werte des ersten Arrays ($a1) rekursiv durch die Werte des zweiten Arrays ($a2):
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"),);$a2=array("a"=>array( "gelb"),"b"=>array("schwarz"));print_r(array_replace_recursive($a1,$a2));?>Die Funktion array_replace_recursive() ersetzt rekursiv die Werte des ersten Arrays durch die Werte nachfolgender Arrays.
Tipp: Sie können der Funktion ein Array oder mehrere Arrays übergeben.
Wenn ein Schlüssel im ersten Array array1 und auch im zweiten Array array2 vorhanden ist, wird der Wert im ersten Array array1 durch den Wert im zweiten Array array2 ersetzt. Existiert ein Schlüssel nur im ersten Array array1, bleibt er unverändert. Wenn im zweiten Array, Array2, ein Schlüssel vorhanden ist, aber nicht im ersten Array, Array1, wird das Element im ersten Array, Array1, erstellt. Wenn mehrere Ersatzarrays übergeben werden, werden diese der Reihe nach verarbeitet und die Werte nachfolgender Arrays überschreiben die Werte vorheriger Arrays.
Hinweis: Wenn Sie nicht für jedes Array einen Schlüssel angeben, verhält sich diese Funktion identisch mit der Funktion array_replace().
array_replace_recursive( array1, array2, array3... )
Parameter | beschreiben |
---|---|
array1 | Erforderlich. Geben Sie ein Array an. |
array2 | Optional. Gibt ein Array an, das den Wert von array1 ersetzen soll. |
array3,... | Optional. Geben Sie mehrere Arrays an, um die Werte von Array1 und Array2 zu ersetzen, .... Die Werte im folgenden Array überschreiben die Werte im vorherigen Array. |
Rückgabewert: | Gibt das ersetzte Array oder NULL zurück, wenn ein Fehler auftritt. |
---|---|
PHP-Version: | 5.3.0+ |
Mehrere Arrays:
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"));$a2=array("a"=>array(" gelb"),"b"=>array("blac k"));$a3=array("a"=>array("orange"),"b"=>array("burgundy"));print_r(array_replace_recursive($a1,$a2,$a3)); ?>Unterschiede zwischen array_replace() und array_replace_recursive():
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"),);$a2=array("a"=>array( "gelb"),"b"=>array("schwarz" ));$result=array_replace_recursive($a1,$a2);print_r($result);$result=array_replace($a1,$a2);print_r($result);?>