Maison  >  Article  >  développement back-end  >  PHP supprime les éléments en double du tableau unidimensionnel

PHP supprime les éléments en double du tableau unidimensionnel

WBOY
WBOYoriginal
2023-05-19 09:44:371261parcourir

Pour un tableau unidimensionnel, s'il y a des éléments en double, la suppression de ces éléments en double est une exigence courante en programmation. En PHP, nous pouvons y parvenir de plusieurs manières. Cet article présentera plusieurs méthodes couramment utilisées.

Méthode 1 : Utilisez la fonction array_unique

La fonction array_unique est une fonction fournie avec PHP et peut facilement supprimer les éléments en double du tableau. Il peut être utilisé non seulement pour les tableaux unidimensionnels, mais également pour les opérations de déduplication de tableaux multidimensionnels.

Exemple de code :

$array = array('a', 'b', 'c', 'a', 'd', 'c');
$array_unique = array_unique($array);
print_r($array_unique);

Résultat de sortie :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)

Il est très simple d'utiliser la fonction array_unique pour supprimer les éléments en double. Cependant, il convient de noter que la fonction array_unique ne peut supprimer que les éléments en double ayant la même valeur, mais pas les éléments en double ayant la même valeur de clé.

Méthode 2 : Utiliser le parcours en boucle

Une autre façon de supprimer les doublons consiste à utiliser une boucle pour parcourir le tableau, en comparant chaque élément un par un avec les éléments qui le suivent. trouvé des éléments identiques, supprimez-les.

Exemple de code :

$array = array('a', 'b', 'c', 'a', 'd', 'c');
$count = count($array);
for($i=0;$i<$count;$i++){
    for($j=$i+1;$j<$count;$j++){
        if($array[$i] == $array[$j]){
            unset($array[$j]);
        }
    }
}
print_r($array);

Résultat de sortie :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)

L'utilisation de la méthode de parcours en boucle peut également facilement réaliser la déduplication, mais lorsque le tableau est relativement grand temps, les performances peuvent être affectées.

Méthode 3 : Utilisez les fonctions array_flip et array_values ​​​​

Cette méthode utilise la fonction array_flip intégrée de PHP, qui peut échanger les clés et les valeurs du tableau. De cette façon, si le tableau d'origine a des valeurs en double, le tableau échangé aura des clés en double, et seule la dernière sera conservée, et le reste sera automatiquement écrasé.

Ensuite, nous utilisons la fonction array_values ​​​​pour réindexer le tableau réorganisé, supprimer la correspondance clé-valeur et obtenir le tableau dédupliqué.

Exemple de code :

$array = array('a', 'b', 'c', 'a', 'd', 'c');
$array_flip = array_flip($array);
$array_unique = array_values($array_flip);
print_r($array_unique);

Résultat de sortie :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)

L'avantage de cette méthode est qu'elle peut rapidement supprimer les doublons et conserver l'ordre d'origine du tableau . Cependant, cela ne fonctionne que pour les tableaux unidimensionnels dont les valeurs sont des chaînes, et des résultats inattendus se produiront pour d'autres types de données (tels que des tableaux, des objets, etc.).

Pour résumer, pour supprimer les éléments en double d'un tableau unidimensionnel, nous pouvons utiliser la fonction array_unique fournie avec PHP, ou nous pouvons utiliser la méthode de parcours en boucle ou les fonctions array_flip et array_values ​​​​​​. En fonction des besoins réels et des types de données, choisir une méthode qui vous convient peut améliorer l'efficacité et la lisibilité de votre code.

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