Maison > Article > développement back-end > Il existe plusieurs façons de fusionner des tableaux php
Il existe 4 façons de combiner des tableaux PHP, qui sont : 1. Utilisez l'opérateur de signe plus "+", la syntaxe est "tableau 1+tableau 2+.." 2. Utilisez le tableau_push() ; function; 3. Utilisez la fonction array_merge(); 4. Utilisez la fonction array_merge_recursive().
L'environnement d'exploitation de ce tutoriel : système windows7, version PHP7.1, ordinateur DELL G3
Fusionner directement les valeurs des deux tableaux en un seul tableau ;
$a = [1,2,3,'a'=>'a']; $b = ['a'=>'b',4,5,'b'=>'c',6,7,'a']; $c = $a + $b; print_r($a); print_r($b); print_r($c); //$a Array ( [0] => 1 [1] => 2 [2] => 3 [a] => a ) //$b Array ( [a] => b [0] => 4 [1] => 5 [b] => c [2] => 6 [3] => 7 [4] => a ) //$c Array ( [0] => 1 [1] => 2 [2] => 3 [a] => a [b] => c [3] => 7 [4] => a )
utilise "+" pour fusionner les tableaux. Si les clés sont les mêmes, la précédente La valeur du tableau écrasera la valeur du tableau suivante.
pour mettre une variable dans un autre tableau
$a = [1,'a'=>'aa',2,'b'=>'bb']; $b = [1,'a'=>'aa',2,'b'=>'bb']; print_r($a); print_r($b); array_push($a, $b); print_r($a); //$a Array ( [0] => 1 [a] => aa [1] => 2 [b] => bb ) //$b Array ( [0] => 1 [a] => aa [1] => 2 [b] => bb ) // array_push过后的$a Array ( [0] => 1 [a] => aa [1] => 2 [b] => bb [2] => Array ( [0] => 1 [a] => aa [1] => 2 [b] => bb ) )
On peut voir à partir de la valeur imprimée qu'une fois la variable entrée dans le tableau, L'index numérique correspondant doit être le plus petit index numérique du tableau actuel + 1 (si le tableau actuel n'a pas d'index numérique, l'index correspondant au nouvel élément est 0)
Fusionner directement deux tableaux Lorsque les clés des deux tableaux sont les mêmes, la valeur de ce dernier tableau écrase la valeur du tableau précédent
$a = [1,'2'=>2,'a'=>'a','b'=>'b']; $b = [1,'2'=>3,'a'=>'c','b'=>'d','c'=>'e']; $c = array_merge($a,$b); print_r($a); print_r($b); print_r($c); //$a Array ( [0] => 1 [2] => 2 [a] => a [b] => b ) //$b Array ( [0] => 1 [2] => 3 [a] => c [b] => d [c] => e ) //$c Array ( [0] => 1 [1] => 2 [a] => c [b] => d [2] => 1 [3] => 3 [c] => e )
On peut voir que lorsque les clés des deux tableaux sont les mêmes, la valeur de ce dernier tableau Écrase la valeur du tableau précédent. Cependant, pour les index numériques ou les index de chaîne numérique, ils seront réinitialisés dans l'ordre (le premier élément d'index numérique du premier tableau est rempli dans l'ordre à partir de 0)
$a = [1,'2'=>2,'a'=>'a','b'=>'b']; $b = [1,'2'=>3,'a'=>'a','b'=>'d','c'=>'e']; $c = array_merge_recursive($a,$b); print_r($a); print_r($b); print_r($c); //$a Array ( [0] => 1 [2] => 2 [a] => a [b] => b ) //$b Array ( [0] => 1 [2] => 3 [a] => a [b] => d [c] => e ) //$c Array ( [0] => 1 [1] => 2 [a] => Array ( [0] => a [1] => a ) [b] => Array ( [0] => b [1] => d ) [2] => 1 [3] => 3 [c] => e )Lors de l'utilisation de la méthode "array_merge_recursive", les éléments avec la même clé seront intégrés dans un nouveau tableau, en gardant le nom de la clé reste inchangé et est utilisé comme sous-élément du tableau fusionné (le tableau combiné par $a et $b). Mais pour les index numériques ou les index de chaîne numérique, ils seront réinitialisés dans l'ordre (le premier élément d'index numérique du premier tableau est rempli séquentiellement à partir de 0). Même si les indices numériques correspondants sont les mêmes, les éléments ayant le même indice ne seront pas intégrés dans un sous-tableau. Apprentissage recommandé : "
Tutoriel vidéo PHP"
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!