Maison > Article > développement back-end > Ajouter différents tableaux en php
En PHP, le tableau est un type de données très flexible et couramment utilisé qui peut stocker plusieurs valeurs (éléments), et ces valeurs peuvent être de n'importe quel type de données. Lorsque nous devons ajouter différents tableaux, nous devons comprendre les différentes méthodes d'ajout et les précautions correspondantes.
La fonction array_merge() peut fusionner deux ou plusieurs tableaux dans un nouveau tableau. Elle place tous les éléments du tableau d'entrée dans un nouveau tableau et l'index est réinitialisé. À partir de 0, les noms de clés du tableau d'origine peuvent être conservés et les valeurs des mêmes noms de clés ne seront pas écrasées. Voici un exemple :
$array1 = array('a', 'b', 'c'); $array2 = array('d', 'e', 'f'); $array3 = array_merge($array1, $array2); print_r($array3);
Le résultat est :
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f )
Il convient de noter que si les valeurs avec le même nom de clé sont des tableaux, alors la fonction array_merge() les fusionnera récursivement, c'est-à-dire fusionnera les sous-réseaux ensemble. Si le nom de la clé est un nombre, le résultat fusionné est automatiquement converti en un tableau indexé numériquement.
En PHP, vous pouvez utiliser l'opérateur + pour fusionner deux tableaux dans un nouveau tableau, mais contrairement à la fonction array_merge(), l'opérateur + ne conservera que le tableau de gauche Le nom de la clé et la valeur dans le tableau de droite seront ignorés. Voici un exemple :
$array1 = array('a', 'b', 'c'); $array2 = array('d' => 1, 'e', 'f'); $array3 = $array1 + $array2; print_r($array3);
Le résultat est :
Array ( [0] => a [1] => b [2] => c [d] => 1 [1] => e [2] => f )
Il convient de noter que si les noms de clés du tableau sont des chaînes, l'opérateur + les traitera comme des tableaux associatifs. Si le tableau de gauche contient à la fois des clés d'index numériques et des chaînes, les clés d'index de chaîne du tableau de droite seront ignorées.
Si les valeurs du même nom de clé sont des tableaux, alors l'utilisation de la fonction array_merge() pour fusionner écrasera uniquement la valeur de la clé correspondante nom dans le tableau précédent, mais pas Fusionner récursivement les sous-tableaux. Si vous devez fusionner de manière récursive des sous-tableaux avec le même nom de clé, vous pouvez utiliser la fonction array_merge_recursive(). Voici un exemple :
$array1 = array('a' => array('b'), 'c'); $array2 = array('a' => array('d'), 'e'); $array3 = array_merge_recursive($array1, $array2); print_r($array3);
Le résultat est :
Array ( [a] => Array ( [0] => b [1] => d ) [0] => c [1] => e )
Il convient de noter que la fonction array_merge_recursive() fusionnera les sous-tableaux ensemble et fusionnera les valeurs avec le même nom de clé en un seul tableau.
La fonction array_replace() peut fusionner deux tableaux ou plus dans un nouveau tableau, mais contrairement à la fonction array_merge(), les valeurs avec le même nom de clé sera remplacé par des valeurs ultérieures plutôt que fusionné dans un tableau. Voici un exemple :
$array1 = array('a', 'b', 'c'); $array2 = array('b', 'd'); $array3 = array_replace($array1, $array2); print_r($array3);
Le résultat de sortie est :
Array ( [0] => a [1] => b [2] => c [3] => d )
Il convient de noter que la fonction array_replace() ne remplacera la valeur où le nom de clé existe que si le nom de clé qui existe dans un tableau n'existe pas. dans un autre tableau, sa valeur restera inchangée.
En résumé, PHP fournit une variété de méthodes pour fusionner des tableaux, et nous pouvons choisir la méthode à utiliser en fonction des besoins réels. Si vous devez conserver les noms de clés du tableau d'origine, vous pouvez utiliser la fonction array_merge() ; si vous devez fusionner des sous-tableaux de manière récursive, vous pouvez utiliser la fonction array_merge_recursive() si vous devez remplacer les valeurs par les mêmes ; noms de clés au lieu de les fusionner dans un tableau, vous pouvez utiliser la fonction array_replace ().
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!