Kursus anbefaling:
PHP array_replace_recursive() funktion
Eksempel
<?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)); ?>
Rekursivt brug af værdierne fra den anden array ($a2) til at erstatte værdierne i den første array ($a1):
Definition og brug
array_replace_recursive() funktionen bruger værdierne fra den efterfølgende array rekursivt til at erstatte værdierne i den første array.Tip:
Du kan passere en array, eller flere arrays, til funktionen. array1 Hvis en nøgle findes i den første array array2og også findes i den anden array array1 i værdierne i den første array array2 værdierne vil erstattes. array1, vil det forblive uændret. Hvis en nøgle findes i den anden array array2, men ikke findes i den første array array1, vil det være i den første array array1 opret denne element. Hvis flere erstatningsarrays overføres, vil de behandles i rækkefølge, og værdierne i de efterfølgende arrays vil overskrive værdierne i de tidligere arrays.
Bemærk:Hvis ingen nøgle er specificeret for hver array, vil funktionens opførsel være lig med array_replace() funktion.
grammatik
array_replace_recursive(array1,array2,array3...)
Parameter | Beskrivelse |
---|---|
array1 | Obligatorisk. Angiv arrayet. |
array2 | Valgfri. Angiv arrayet, der skal erstatte array1 værdierne i arrayet. |
array3,... | Valgfri. Angiv flere arrayer, der skal erstatte array1 og array2, ... værdierne i arrayet. Værdierne i det efterfølgende array vil erstatte værdierne i de tidligere arrayer. |
Tekniske detaljer
Returværdi: | Returnerer det erstatte array, hvis der opstår en fejl, returneres NULL. |
PHP version: | 5.3.0+ |
Flere eksempler
Eksempel 1
Flere arrayer:
<?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)); ?>
Eksempel 2
Forskellen mellem array_replace() og 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); ?>