Maison  >  Article  >  développement back-end  >  Il existe plusieurs façons de fusionner des tableaux php

Il existe plusieurs façons de fusionner des tableaux php

青灯夜游
青灯夜游original
2021-06-01 17:59:3327074parcourir

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().

Il existe plusieurs façons de fusionner des tableaux php

L'environnement d'exploitation de ce tutoriel : système windows7, version PHP7.1, ordinateur DELL G3

1. Utilisez le signe plus "+. " Opérateur :

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.

2. Utilisez la fonction array_push()

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)

3. ) fonction

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)

4 Utilisez la fonction array_merge_recursive()

Fusionner les tableaux, lorsque vous rencontrez la même clé, fusionner les valeurs de la clé dans un sous-tableau

$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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn