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.

Exemple 403. Exemple avec array_merge()

<?php
  $array1 
= array ( "couleur"  =>  "rouge" 2 4 );
  
$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
)

Exemple 404. 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 + :

Exemple 405. 

<?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.

AVERTISSEMENT

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( =>  '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 .