Forum und email

array_merge

(PHP 4, PHP 5)

array_merge — Fusionne un ou plusieurs tableaux

Description

array array_merge ( array $array1 [, array $array2 [, array $... ]] )

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.

Example#1 Exemple avec array_merge()

<?php
  $array1 
= array ("couleur" => "rouge"24);
  
$array2 = array ("a""b""couleur" => "vert""forme" => "trapézo&Ocirc;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&Ocirc;de
)

Example#2 Exemple avec array_merge()

<?php
  $array1 
= array();
  
$array2 = array(=> "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 + :

<?php
  $array1 
= array();
  
$array2 = array(=> "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.

Warning

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.

Example#3 Exemple avec array_merge() en PHP 5

<?php
$beginning 
'foo';
$end = array(=> '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.