PHP array_replace_recursive() Fonction
Exemple
Remplacez les valeurs du premier tableau par celles du deuxième tableau de manière récursive :
<?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));
?> Définition et Utilisation
La fonction array_replace_recursive() remplace les valeurs du premier tableau par celles des tableaux suivants de manière récursive.
Astuce : Vous pouvez passer un tableau à la fonction, ou autant de tableaux que vous le souhaitez.
Si une clé de array1 existe dans array2, les valeurs de array1 seront remplacées par celles de array2. Si la clé n'existe que dans array1, elle restera inchangée. Si une clé existe dans array2 et pas dans array1, elle sera ajoutée à array1. Si plusieurs tableaux sont utilisés, les valeurs des tableaux ultérieurs écraseront celles des précédents.
Remarque : Si vous ne spécifiez pas de clé pour chaque tableau, cette fonction se comportera exactement de la même manière que la fonction array_replace() .
Syntaxe
array_replace_recursive( array1, array2, array3, ... ) Valeurs des Paramètres
| Paramètre | Description |
|---|---|
| array1 | Requis. Spécifie un tableau |
| array2 | Optionnel. Spécifie un tableau qui remplacera les valeurs de array1 |
| array3,... | Optionnel. Spécifie d'autres tableaux pour remplacer les valeurs de array1 et array2, etc. Les valeurs des tableaux ultérieurs écraseront celles des précédents. |
Détails Techniques
| Valeur de Retour : | Renvoie le tableau remplacé, ou NULL si une erreur se produit |
|---|---|
| Version PHP : | 5.3.0+ |
Plus d'Exemples
Exemple
Tableaux multiples :
<?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));
?> Exemple
Différences entre array_replace() et 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);
?>