ARRAY_MERGE |
Tableau : Fusion |
---|---|
PHP 4.0+ |
Syntaxe
function array_merge($array1); |
function array_merge($array1,...); |
Paramètres
Nom | Description |
---|---|
$array1 | Ce paramètre permet d'indiquer les tableaux à fusionner. |
Retour
Valeur | Description |
---|---|
tableau | Ces valeurs permettent d'indiquer tous les éléments des tableaux contenu contenu dans un même tableau. |
Description
Cette fonction permet de fusionner ensemble différents tableaux.
Remarques
- Si vous souhaitez effectuer une concaténation d'une tableau en une chaîne de caractères (fusionner d'un tableau en chaîne de caractères), vous devriez plutôt songer à utiliser la fonction «implode».
- A partir de la version 5 du PHP, il faut que les paramètres passer à cette fonction soit obligatoirement de type de données «array», ainsi, si vous souhaitez inclure une chaîne de caractères vous devrez effectuer un castre avant la variable comme ceci «(array)».
- Si vous fusionner un tableau avec une valeur nulle, et non pas un tableau, une erreur se produira. Ainsi, assurez-vous de remplacer votre valeur nulle par un array() pour éviter les problèmes.
- Fusion de tableaux : La fonction array_merge() permet de combiner plusieurs tableaux en un seul. Les valeurs de tous les tableaux sont ajoutées au tableau résultant dans l'ordre où elles apparaissent, ce qui est utile pour concaténer des données issues de différentes sources.
- Gestion des clefs numériques : Lors de la fusion, si les clés des tableaux sont numériques, elles sont réindexées dans le tableau résultant. Cela signifie que même si les clefs numériques se chevauchent dans les tableaux originaux, elles seront écrasées et remplacées par un nouvel index séquentiel.
- Conservation des clefs associatives : Pour les clefs associatives (non numériques), array_merge() conserve les clefs d'origine. Si une clef existe dans plusieurs tableaux, la valeur associée à cette clef dans le tableau le plus à droite remplacera celles des tableaux précédents.
- Fusion récursive non prise en charge : Contrairement à array_merge_recursive(), array_merge() ne gère pas la fusion des sous-tableaux récursivement. Si des clés associatives pointent vers des sous-tableaux, elles seront simplement remplacées dans le résultat, sans tenter de fusionner les sous-niveaux.
- Gestion des tableaux vides : Si un des tableaux passés en paramètre est vide, il n'aura aucun impact sur le résultat final. Cela permet d'utiliser array_merge() dans des scénarios où certains tableaux peuvent être optionnels ou conditionnels.
- Type de données en entrée : Les paramètres passés à array_merge() doivent être des tableaux. Si un paramètre n'est pas un tableau, une erreur fatale sera générée en PHP 8+, tandis qu'en PHP 7, une alerte sera émise et le type non valide sera ignoré.
- Manipulation dynamique des données : array_merge() est souvent utilisé pour ajouter des éléments à un tableau existant, créer des configurations dynamiques ou fusionner des ensembles de données avant leur traitement ultérieur. Cela en fait une fonction très polyvalente dans les applications PHP.
- Performance et taille des tableaux : Pour des tableaux de grande taille, l'utilisation de array_merge() peut devenir coûteuse en termes de performances et de mémoire, car le tableau résultant est une nouvelle copie des données. Une gestion prudente est nécessaire pour éviter des problèmes dans des environnements à ressources limitées.
Exemple
L'exemple suivant permet de fusionner deux tableaux en un seul :
- <?php
- $tableau1 = array(10,20,30,40,50,60);
- $tableau2 = array(5,15,25,35,45,55);
- var_dump(array_merge($tableau1,$tableau2));
- ?>
on obtiendra le résultat suivant :
array(12) { [0]=> int(10) [1]=> int(20) [2]=> int(30) [3]=> int(40) [4]=> int(50) [5]=> int(60) [6]=> int(5) [7]=> int(15) [8]=> int(25) [9]=> int(35) [10]=> int(45) [11]=> int(55) }Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 360
Dernière mise à jour : Dimanche, le 22 mars 2015