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));
?>

Kør eksempel

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));
?>

Kør eksempel

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);
?>

Kør eksempel