PHP - Funktion array_replace_recursive()
Beispiel
Ersetzen Sie die Werte des ersten Arrays rekursiv durch die Werte des zweiten Arrays:
<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
print_r(array_replace_recursive($a1,$a2));
?>
Definition und Verwendung
Die Funktion array_replace_recursive() ersetzt die Werte des ersten Arrays rekursiv durch die Werte der folgenden Arrays.
Tipp: Sie können der Funktion ein oder beliebig viele Arrays zuweisen.
Wenn ein Schlüssel aus Array1 in Array2 vorhanden ist, werden Werte aus Array1 durch die Werte aus Array2 ersetzt. Wenn der Schlüssel nur in array1 existiert, wird er so belassen wie er ist. Wenn ein Schlüssel in Array2 und nicht in Array1 vorhanden ist, wird er in Array1 erstellt. Wenn mehrere Arrays verwendet werden, überschreiben Werte aus späteren Arrays die vorherigen.
Hinweis: Wenn Sie nicht für jedes Array einen Schlüssel angeben, verhält sich diese Funktion genauso wie die Funktion array_replace() .
Syntax
array_replace_recursive(array1, array2, array3, ...)
Parameterwerte
Parameter | Description |
---|---|
array1 | Required. Specifies an array |
array2 | Optional. Specifies an array which will replace the values of array1 |
array3,... | Optional. Specifies more arrays to replace the values of array1 and array2, etc. Values from later arrays will overwrite the previous ones. |
Technische Details
Rückgabewert: | Gibt das ersetzte Array oder NULL zurück, wenn ein Fehler auftritt |
---|---|
PHP-Version: | 5.3.0+ |
Mehr Beispiele
Beispiel
Mehrere Arrays:
<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"));
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$a3=array("a"=>array("orange"),"b"=>array("burgundy"));
print_r(array_replace_recursive($a1,$a2,$a3));
?>
Beispiel
Unterschiede zwischen array_replace() und array_replace_recursive():
<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$result=array_replace_recursive($a1,$a2);
print_r($result);
$result=array_replace($a1,$a2);
print_r($result);
?>
❮ PHP-Array-Referenz