Maison > développement back-end > Problème PHP > php supprime les éléments en double du tableau

php supprime les éléments en double du tableau

WBOY
Libérer: 2023-05-07 12:21:07
original
770 Les gens l'ont consulté

En PHP, le tableau est un type de données très courant et couramment utilisé. Lors de l'utilisation de tableaux, nous rencontrons souvent des éléments en double dans le tableau. À ce stade, nous devons supprimer les éléments en double dans le tableau. Cet article présentera plusieurs méthodes pour supprimer les éléments en double d'un tableau en PHP.

Méthode 1 : utilisez la fonction array_unique()

La fonction array_unique() est l'une des fonctions intégrées de PHP et peut être utilisée pour supprimer les éléments en double d'un tableau. Cette fonction peut accepter un tableau comme paramètre et renvoyer le tableau dédupliqué. Voici un exemple de code qui utilise la fonction array_unique() pour supprimer les éléments en double d'un tableau :

<?php
$original_array = array("foo", "bar", "foo", "baz", "qux", "bar");
$unique_array = array_unique($original_array);
print_r($unique_array);
?>
Copier après la connexion

Le résultat du code ci-dessus est :

Array
(
    [0] => foo
    [1] => bar
    [3] => baz
    [4] => qux
)
Copier après la connexion

Bien que cette méthode soit simple, il convient de noter que cette fonction ne fera que supprimez les éléments identiques dans le tableau Elements, rien ne peut être fait sur les éléments de même valeur mais de clés différentes.

Méthode 2 : utiliser la fonction for loop et in_array()

En PHP, l'utilisation de la fonction for loop et in_array() peut également supprimer les éléments en double dans le tableau. Le principe de cette méthode est de parcourir chaque élément du tableau et d'utiliser la fonction in_array() pour déterminer si l'élément est déjà apparu dans le nouveau tableau. S'il n'apparaît pas auparavant, l'élément est ajouté au nouveau tableau. Voici un exemple de code qui utilise une boucle for et la fonction in_array() pour supprimer les éléments en double d'un tableau :

<?php
$original_array = array("foo", "bar", "foo", "baz", "qux", "bar");
$new_array = array();
for ($i = 0; $i < count($original_array); $i++) {
    if (!in_array($original_array[$i], $new_array)) {
        $new_array[] = $original_array[$i];
    }
}
print_r($new_array);
?>
Copier après la connexion

La sortie du code ci-dessus est la même que l'exemple de code de la première méthode.

L'avantage de cette méthode est qu'elle peut supprimer simultanément des éléments de différents types de données tels que des chaînes et des nombres dans le tableau. Cependant, lorsqu'il y a de nombreux éléments du tableau, l'efficacité sera légèrement plus lente que celle de array_unique(). fonction.

Méthode 3 : utiliser les fonctions array_flip() et array_keys()

En PHP, l'utilisation des fonctions array_flip() et array_keys() peut également supprimer rapidement les éléments en double d'un tableau. La fonction array_flip() peut échanger les positions des clés et des valeurs dans le tableau afin que les valeurs du tableau d'origine deviennent des clés dans le nouveau tableau, tandis que la fonction array_keys() peut obtenir les clés du tableau. Par conséquent, vous pouvez d'abord utiliser la fonction array_flip() pour transformer les valeurs du tableau d'origine en clés, puis utiliser la fonction array_keys() pour obtenir les clés du nouveau tableau afin d'obtenir le résultat dédupliqué. Voici un exemple de code qui utilise les fonctions array_flip() et array_keys() pour supprimer les éléments en double d'un tableau :

<?php
$original_array = array("foo", "bar", "foo", "baz", "qux", "bar");
$new_array = array_keys(array_flip($original_array));
print_r($new_array);
?>
Copier après la connexion

La sortie du code ci-dessus est la même que l'exemple de code de la première méthode.

L'avantage de cette méthode est qu'elle peut supprimer rapidement les doublons lorsqu'il y a de nombreux éléments du tableau. Cependant, une duplication de clés peut se produire pendant le processus d'obtention de valeurs basées sur les clés, vous devez donc utiliser la fonction array_flip(). pour échanger d'abord les positions des clés et des valeurs.

Lorsque vous utilisez ces méthodes pour supprimer les éléments en double d'un tableau, vous devez faire attention aux points suivants :

  1. Dans les méthodes ci-dessus, l'ordre des éléments dans le tableau peut changer, donc l'utilisation ultérieure doit être gérée en fonction à la situation réelle.
  2. Lorsque les valeurs du tableau sont des objets, si les valeurs d'attribut de deux objets différents sont les mêmes, elles seront toujours considérées comme les mêmes éléments pour la déduplication. Dans ce cas, les règles de jugement doivent être redéfinies. .
  3. Si le tableau contient des types tels que NULL ou FALSE, la duplication peut ne pas être possible et doit être traitée en fonction de la situation réelle.

Pour résumer, il existe de nombreuses façons de supprimer les éléments en double d'un tableau en PHP. Vous pouvez choisir la méthode appropriée en fonction de la situation réelle.

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