array_merge
(PHP 4, PHP 5, PHP 7, PHP 8)
array_merge — Fusionne plusieurs tableaux en un seul
Description
Si les tableaux d'entrées ont des clés en commun, alors,
la valeur finale pour cette clé écrasera la précédente. Cependant,
si les tableaux contiennent des clés numériques, la valeur
finale n'écrasera pas la valeur
originale, mais sera ajoutée.
Les clés numériques des tableaux d'entrées seront
renumérotées en clés incrémentées partant de zéro dans le tableau fusionné.
Liste de paramètres
arrays
-
Liste de tableaux variable à fusionner.
Valeurs de retour
Retourne le tableau résultant.
Si appelé sans arguments, retourne un tableau vide.
Exemples
Exemple #1 Exemple avec array_merge()
<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>
L'exemple ci-dessus va afficher :
Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)
Exemple #2 Exemple simple avec array_merge()
<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
print_r($result);
?>
Il ne faut pas oublier que les index numériques seront réindexés !
Si l'on veut ajouter des éléments du second tableau au premier
sans pour autant écraser ou réindexer les éléments du premier,
utiliser l'opérateur d'union + :
<?php
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);
?>
Les clés du premier tableau sont préservées. Si une clé existe
dans les 2 tableaux, alors l'élément du premier sera utilisé
et la clé correspondante du second sera ignorée.
array(5) {
[0]=>
string(6) "zero_a"
[2]=>
string(5) "two_a"
[3]=>
string(7) "three_a"
[1]=>
string(5) "one_b"
[4]=>
string(6) "four_b"
}
Exemple #3 Exemple avec array_merge() avec des types non-tableaux
<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_merge((array) $beginning, (array) $end);
print_r($result);
?>
L'exemple ci-dessus va afficher :
Array
(
[0] => foo
[1] => bar
)