Comment épisser des tableaux PHP sans duplication

WBOY
Libérer: 2023-05-19 20:40:36
original
800 Les gens l'ont consulté

PHP est un langage de programmation très populaire. Il possède de puissantes fonctions de tableau qui peuvent effectuer diverses opérations sur les tableaux. En PHP, la concaténation de tableaux est une opération très courante. Cependant, lorsque nous devons concaténer deux tableaux, des éléments en double sont susceptibles d’apparaître. Alors, que faire ? Cet article explique comment utiliser les fonctions de tableau PHP pour fusionner des tableaux et éviter les éléments en double.

1. Utilisez la fonction array_merge() pour fusionner des tableaux

PHP fournit une fonction très pratique array_merge(), qui peut être utilisée pour fusionner deux ou plusieurs tableaux dans un nouveau tableau. Sa syntaxe est la suivante :

array array_merge ( array $array1 [, array $... ] )
Copier après la connexion

Cette fonction peut accepter deux ou plusieurs tableaux comme paramètres, elle fusionnera tous les éléments de ces tableaux dans un nouveau tableau, et renverra ce nouveau tableau. Ce qui suit est une démonstration simple :

$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f');
$result = array_merge($array1, $array2);
print_r($result);
Copier après la connexion

Le résultat de sortie est le suivant :

Array (
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)
Copier après la connexion
Copier après la connexion

De même, nous pouvons fusionner les trois tableaux dans un nouveau tableau :

$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f');
$array3 = array('g', 'h', 'i');
$result = array_merge($array1, $array2, $array3);
print_r($result);
Copier après la connexion

Le résultat de sortie est le suivant :

Array (
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
    [6] => g
    [7] => h
    [8] => i
)
Copier après la connexion

Comme on peut le voir à partir du résultat de sortie, la fonction array_merge() peut fusionner plusieurs tableaux en un seul tableau. Cependant, si deux tableaux ou plus contiennent les mêmes éléments, ces éléments seront répétés dans le nouveau tableau.

2. Utilisez la fonction array_unique() pour supprimer les éléments en double

PHP fournit une fonction de tableau très pratique array_unique(), qui peut être utilisée pour supprimer les éléments en double dans le tableau et renvoyer un nouveau tableau, en ne conservant que le premier qui apparaît. Sa syntaxe est la suivante :

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] );
Copier après la connexion

Cette fonction accepte un tableau en paramètre et renvoie un nouveau tableau qui ne contient pas d'éléments en double. Par défaut, cette fonction supprime les éléments en double et conserve le premier élément apparaissant. Voici une démonstration simple :

$array = array('a', 'b', 'c', 'a', 'b', 'c');
$result = array_unique($array);
print_r($result);
Copier après la connexion

Le résultat est le suivant :

Array (
    [0] => a
    [1] => b
    [2] => c
)
Copier après la connexion

Comme vous pouvez le voir sur le résultat, la fonction array_unique() peut supprimer les éléments en double du tableau et renvoyer un nouveau tableau. Ce nouveau tableau ne conserve que la première occurrence de l'élément.

3. Utilisez les fonctions array_merge() et array_unique() pour épisser des tableaux

Épisser deux tableaux dans un nouveau tableau est une opération très courante. Cependant, s'il existe des éléments identiques dans les deux tableaux, ces éléments seront répétés dans le nouveau tableau. Afin d'éviter cette situation, nous pouvons d'abord utiliser la fonction array_merge() pour joindre les deux tableaux, puis utiliser la fonction array_unique() pour supprimer les éléments en double. Ce qui suit est une démonstration simple :

$array1 = array('a', 'b', 'c');
$array2 = array('c', 'd', 'e');
$result = array_unique(array_merge($array1, $array2));
print_r($result);
Copier après la connexion

Le résultat de sortie est le suivant :

Array (
    [0] => a
    [1] => b
    [2] => c
    [4] => d
    [5] => e
)
Copier après la connexion

Comme vous pouvez le voir sur le résultat de sortie, nous utilisons d'abord la fonction array_merge() pour fusionner les tableaux $array1 et $array2 dans un nouveau tableau. , puis utilisez la fonction array_unique() pour supprimer les éléments en double et obtenir enfin un nouveau tableau sans duplication.

4. Utilisez la fonction array_push() pour épisser des tableaux

PHP fournit également une autre fonction array_push(), qui peut être utilisée pour pousser un ou plusieurs éléments à la fin du tableau. La syntaxe de cette fonction est la suivante :

int array_push ( array &$array , mixed $values [, mixed $... ] );
Copier après la connexion

Cette fonction accepte un tableau comme paramètre et pousse un ou plusieurs éléments à la fin du tableau, renvoyant la longueur du nouveau tableau. Ce qui suit est une démonstration simple :

$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f');
foreach($array2 as $value) {
    if(!in_array($value, $array1)) {
        array_push($array1, $value);
       }
}
print_r($array1);
Copier après la connexion

Le résultat de sortie est le suivant :

Array (
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)
Copier après la connexion
Copier après la connexion

Comme vous pouvez le voir sur le résultat de sortie, nous comparons d'abord les éléments du tableau $array1 et les éléments du tableau $array2 un par un. Si cet élément n'existe pas dans le tableau $array1, utilisez simplement la fonction array_push() pour pousser cet élément à la fin du tableau, et enfin obtenir un nouveau tableau sans duplication.

Résumé :

À travers l'introduction ci-dessus, nous pouvons voir que la méthode d'épissage de tableaux sans duplication en PHP est très simple. Nous pouvons utiliser les fonctions de tableau array_merge() et array_unique() fournies par PHP pour fonctionner, ou nous pouvons utiliser la fonction array_push() pour fonctionner. Cependant, il convient de noter que lors de l'utilisation de ces fonctions, nous devons pleinement considérer que des valeurs nulles ou des valeurs booléennes peuvent exister dans le tableau. Parce que ces valeurs créent des problèmes lors de leur comparaison. Par conséquent, lors de l'utilisation de ces fonctions, il est préférable de juger et de filtrer d'abord pour garantir l'exactitude et la fiabilité du programme.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal