(PHP 5 >= 5.3.0, PHP 7, PHP 8)
array_replace — Remplace les éléments d'un tableau par ceux d'autres tableaux
array_replace() crée un nouveau tableau et y assigne des éléments pour chaque clé dans chacun des tableaux fournis. Si une clé apparaît dans plusieurs tableaux d'entrée, la valeur du tableau d'entrée le plus à droite sera utilisée.
array_replace() ne traite pas les éléments de manière récursive, il remplace la valeur entière pour chaque clé lorsqu'il effectue un remplacement.
array
Le tableau dans lequel les éléments sont remplacés.
replacements
Tableaux depuis lesquels les éléments seront extraits. Les valeurs des futurs tableaux écraseront les valeurs précédentes.
Retourne un tableau.
Exemple #1 Exemple avec array_replace()
<?php
$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");
$basket = array_replace($base, $replacements, $replacements2);
var_dump($basket);
?>
L'exemple ci-dessus va afficher :
array(5) { [0]=> string(5) "grape" [1]=> string(6) "banana" [2]=> string(5) "apple" [3]=> string(9) "raspberry" [4]=> string(6) "cherry" }
Exemple #2 Example of how nested arrays are handled
<?php
$base = [ 'citrus' => [ 'orange', 'lemon' ], 'pome' => [ 'apple' ] ];
$replacements = [ 'citrus' => [ 'grapefruit' ] ];
$replacements2 = [ 'citrus' => [ 'kumquat', 'citron' ], 'pome' => [ 'loquat' ] ];
$basket = array_replace($base, $replacements, $replacements2);
var_dump($basket);
?>
L'exemple ci-dessus va afficher :
array(2) { ["citrus"]=> array(2) { [0]=> string(7) "kumquat" [1]=> string(6) "citron" } ["pome"]=> array(1) { [0]=> string(6) "loquat" } }