(PHP 4, PHP 5)
array_merge — Fusionne un ou plusieurs tableaux
array_merge() rassemble les éléments d'un ou de plusieurs tableaux array1 , array2 , ... ensemble, en ajoutant les valeurs de l'un à la fin de l'autre. Le résultat est un tableau.
Si les tableaux ont des clés en commun, la dernière valeur rencontrée écrasera l'ancienne. Pour les valeurs numériques, cela n'arrive pas , car, alors, les valeurs sont ajoutées en fin de tableau.
Si vous passez un seul tableau à cette fonction et qu'il a des indices numériques, les clés seront réindexées normalement. Pour les tableaux associatifs, les entrées dupliquées seront fusionnées en continu.
Exemple 403. Exemple avec array_merge()
<?php
$array1
= array (
"couleur"
=>
"rouge"
,
2
,
4
);
$array2
= array (
"a"
,
"b"
,
"couleur"
=>
"vert"
,
"forme"
=>
"trapézoÔde"
);
$result
=
array_merge
(
$array1
,
$array2
);
print_r
(
$result
);
?>
L'exemple ci-dessus va afficher :
Array
(
[couleur] => vert
[0] => 2
[1] => 4
[2] => a
[3] => b
[forme] => trapézoÔde
)
Exemple 404. Exemple avec array_merge()
<?php
$array1
= array();
$array2
= array(
1
=>
"data"
);
$result
=
array_merge
(
$array1
,
$array2
);
?>
N'oubliez pas que les index numériques seront reindexés.
Array
(
[0] => data
)
Si vous voulez préserver complètement les tableaux, et que vous souhaitez simplement les ajouter les uns aux autres, utilisez l'opérateur + :
Exemple 405.
<?php
$array1
= array();
$array2
= array(
1
=>
"data"
);
$result
=
$array1
+
$array2
;
?>
Les index numériques seront préservés. D'où le résultat :
Array
(
[1] => data
)
Note: Les clés communes seront écrasées successivement par les clés identiques suivantes.
Le comportement de array_merge() a été modifié en PHP 5. Contrairement à PHP 4, array_merge() n'accepte que des paramètres de type array . Cependant, vous pouvez utiliser le transtypage pour fusionner les autres types de valeurs. Voyez l'exemple ci-dessous.
Exemple 406. Exemple avec array_merge() en PHP 5
<?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
)
Voir aussi array_merge_recursive() , array_combine() et les opérateurs de tableaux .