Remplacez récursivement les valeurs du premier tableau ($a1) par les valeurs du deuxième tableau ($a2) :
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"),);$a2=array("a"=>array( "jaune"),"b"=>array("noir"));print_r(array_replace_recursive($a1,$a2));?>La fonction array_replace_recursive() remplace récursivement les valeurs du premier tableau par les valeurs des tableaux suivants.
Astuce : Vous pouvez transmettre un ou plusieurs tableaux à la fonction.
Si une clé existe dans le premier tableau tableau1 et existe également dans le deuxième tableau tableau2, la valeur du premier tableau tableau1 sera remplacée par la valeur du deuxième tableau tableau2. Si une clé n'existe que dans le premier tableau array1, elle restera inchangée. Si une clé existe dans le deuxième tableau, tableau2, mais pas dans le premier tableau, tableau1, l'élément sera créé dans le premier tableau, tableau1. Si plusieurs tableaux de remplacement sont transmis, ils seront traités dans l'ordre et les valeurs des tableaux suivants écraseront les valeurs des tableaux précédents.
Remarque : Si vous ne spécifiez pas de clé pour chaque tableau, cette fonction se comporte de manière identique à la fonction array_replace().
array_replace_recursive( array1,array2,array3... )
paramètre | décrire |
---|---|
tableau1 | Requis. Spécifiez un tableau. |
tableau2 | Facultatif. Spécifie un tableau pour remplacer la valeur de array1 . |
tableau3,... | Facultatif. Spécifiez plusieurs tableaux pour remplacer les valeurs de array1 et array2, .... Les valeurs du tableau suivant écraseront les valeurs du tableau précédent. |
Valeur de retour : | Renvoie le tableau remplacé, ou NULL si une erreur se produit. |
---|---|
Version PHP : | 5.3.0+ |
Plusieurs tableaux :
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"));$a2=array("a"=>array(" jaune"),"b"=>array("noir k"));$a3=array("a"=>array("orange"),"b"=>array("burgundy"));print_r(array_replace_recursive($a1,$a2,$a3)); ?>Différences entre array_replace() et array_replace_recursive() :
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"),);$a2=array("a"=>array( "jaune"),"b"=>array("noir" ));$result=array_replace_recursive($a1,$a2);print_r($result);$result=array_replace($a1,$a2);print_r($result);?>