array_replace_recursive
Ersetzt rekursiv Elemente des ersten Arrays durch Elemente der übergebenen Arrays
&reftitle.description;
arrayarray_replace_recursive
arrayarray
arrayreplacements
array_replace_recursive ersetzt die Werte von
array durch die gleichen Werte aus allen folgenden
Arrays. Wenn ein Schlüssel aus dem ersten Array im zweiten Array vorhanden
ist, wird sein Wert durch den Wert aus dem zweiten Array ersetzt. Wenn der
Schlüssel im zweiten Array vorhanden ist, aber nicht im ersten, wird er im
ersten Array erstellt. Wenn ein Schlüssel nur im ersten Array vorhanden
ist, wird er unverändert belassen. Wenn mehrere Arrays zum Ersetzen
übergeben werden, werden sie der Reihe nach verarbeitet, wobei das spätere
Array die vorherigen Werte überschreibt.
Die Funktion array_replace_recursive ist rekursiv: sie
rekursiert in Arrays und wendet den gleichen Prozess auf den inneren Wert an.
Wenn der Wert im ersten Array ein Skalar ist, wird er durch den Wert im
zweiten Array ersetzt, egal ob es sich um einen Skalar oder ein Array
handelt. Wenn sowohl der Wert im ersten Array als auch der Wert im zweiten
Array ein Array ist, ersetzt array_replace_recursive
den jeweiligen Wert rekursiv.
&reftitle.parameters;
array
Das Array, dessen Elemente ersetzt werden.
replacements
Arrays, aus denen Elemente ausgelesen werden sollen.
&reftitle.returnvalues;
Gibt ein Array zurück.
&reftitle.examples;
array_replace_recursive-Beispiel
array( "orange") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));
$basket = array_replace_recursive($base, $replacements);
print_r($basket);
$basket = array_replace($base, $replacements);
print_r($basket);
?>
]]>
&example.outputs;
Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
)
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
)
)
]]>
array_replace_recursive und rekursives Verhalten
array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');
$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);
?>
]]>
&example.outputs;
Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
[others] => litchis
)
]]>
&reftitle.seealso;
array_replace
array_merge_recursive