Parlons de la façon de supprimer les éléments en double dans les tableaux PHP

PHPz
Libérer: 2023-04-12 14:15:52
original
555 Les gens l'ont consulté

PHP est un langage de programmation côté serveur couramment utilisé pour le développement Web, la programmation de pages Web dynamiques, etc. Afin de faciliter l'exploitation des données par les programmeurs PHP, PHP fournit un tableau Array comme type de données. Il s'agit d'une collection ordonnée de paires clé-valeur et constitue également l'une des structures de données les plus couramment utilisées en PHP. Dans le développement réel, les tableaux rencontrent souvent des éléments en double. Pour résoudre ce problème, nous devons partir du point de vue de la déduplication des tableaux. Cet article explique comment supprimer les éléments en double dans les tableaux PHP.

1. Utilisez la fonction array_unique() pour supprimer les doublons

PHP fournit une fonction intégrée array_unique(), qui est utilisée pour supprimer les éléments en double du tableau et renvoyer un nouveau tableau qui ne contient pas d'éléments en double. La syntaxe de cette fonction est la suivante :

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

Parmi eux, $array est le tableau qui doit être exploité et $sort_flags est un paramètre facultatif qui spécifie la méthode de tri lors de la déduplication. Si ce paramètre n'est pas transmis, la méthode de tri des chaînes sera utilisée par défaut. Si vous souhaitez trier par taille numérique, vous pouvez transmettre la constante SORT_NUMERIC. Voici l'exemple de code :

$old_array = [1, 3, 5, 3, 1, 6, 5];
$new_array = array_unique($old_array);
var_dump($new_array);
Copier après la connexion

Le résultat de sortie est :

array(4) {
  [0]=>
  int(1)
  [1]=>
  int(3)
  [2]=>
  int(5)
  [5]=>
  int(6)
}
Copier après la connexion

Vous pouvez voir qu'après le traitement de déduplication, les éléments en double sont supprimés, laissant des éléments différents. Il convient de noter que les noms de clés du nouveau tableau ne sont pas consécutifs, car selon la syntaxe PHP, les entiers et les chaînes sont deux types de données différents.

2. Utilisez des boucles pour supprimer les doublons

En plus de la fonction intégrée array_unique(), nous pouvons également utiliser des boucles pour réaliser la fonction de suppression des doublons. L'idée principale est de parcourir chaque élément du tableau. Si l'élément existe déjà dans le nouveau tableau, ne l'ajoutez pas sinon, ajoutez-le au nouveau tableau. Voici l'exemple de code :

$old_array = [1, 3, 5, 3, 1, 6, 5];
$new_array = [];

foreach ($old_array as $value) {
    if (!in_array($value, $new_array)) {
        $new_array[] = $value;
    }
}

var_dump($new_array);
Copier après la connexion

Le résultat de sortie est :

array(4) {
  [0]=>
  int(1)
  [1]=>
  int(3)
  [2]=>
  int(5)
  [3]=>
  int(6)
}
Copier après la connexion
Copier après la connexion

On peut voir qu'après le traitement de la boucle, les éléments du nouveau tableau sont les mêmes que les résultats de sortie de la fonction intégrée. supprimés et différents éléments sont conservés. A noter que la fonction in_array() est utilisée à l'intérieur de la boucle pour déterminer si l'élément existe déjà dans le tableau. La valeur de retour de cette fonction est une valeur booléenne.

3. Utilisez la fonction array_flip() pour dédupliquer les tableaux

En plus de array_unique() et des boucles, vous pouvez également utiliser la fonction array_flip() pour dédupliquer les tableaux. Cette fonction permet d'échanger les positions des clés et des valeurs dans le tableau et de renvoyer un nouveau tableau. Étant donné que les noms de clé des tableaux en PHP doivent être uniques, vous pouvez supprimer les éléments en double du tableau en utilisant cette fonction. Voici l'exemple de code :

$old_array = [1, 3, 5, 3, 1, 6, 5];
$new_array = array_flip($old_array);

var_dump(array_keys($new_array));
Copier après la connexion

Le résultat de sortie est :

array(4) {
  [0]=>
  int(1)
  [1]=>
  int(3)
  [2]=>
  int(5)
  [3]=>
  int(6)
}
Copier après la connexion
Copier après la connexion

Comme vous pouvez le voir, après avoir utilisé la fonction array_flip() pour supprimer les doublons, un nouveau tableau contenant uniquement des éléments différents est renvoyé. Mais il convient de noter que les valeurs du tableau d'origine seront utilisées comme noms de clé du nouveau tableau et que la valeur du nouveau tableau se verra automatiquement attribuer la valeur 1.

Conclusion

Cet article présente trois méthodes pour supprimer les éléments en double dans les tableaux PHP : la fonction intégrée array_unique(), la boucle et la fonction array_flip(). Parmi elles, la fonction intégrée array_unique() est le moyen le plus simple, tandis que les fonctions loop et array_flip() sont plus flexibles et adaptées à la gestion de situations plus spéciales ou complexes. Quelle que soit la méthode utilisée, le point clé est que l'importance de la déduplication des tableaux ne peut être ignorée. Ce n'est qu'en s'assurant qu'il n'y a pas d'éléments en double que nous pourrons mieux utiliser les tableaux pour effectuer diverses opérations.

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