Maison  >  Article  >  développement back-end  >  Comment supprimer les mêmes éléments dans le tableau php

Comment supprimer les mêmes éléments dans le tableau php

PHPz
PHPzoriginal
2023-04-25 09:06:13423parcourir

En PHP, si les mêmes éléments existent dans un tableau, nous devrons peut-être les supprimer. Cette question semble simple, mais elle implique en réalité quelques détails techniques. Voyons comment supprimer les mêmes éléments dans un tableau PHP.

Méthode 1 : Utiliser la fonction array_unique

PHP fournit une fonction array_unique(), qui peut supprimer les éléments en double d'un tableau et n'en conserver qu'un seul. Cette fonction est très simple, il suffit de lui passer en paramètre le tableau à dédupliquer.

Exemple de code :

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

Résultat de sortie :

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

Comme vous pouvez le voir dans le code ci-dessus, la fonction array_unique() ne conserve que le seul élément du tableau d'origine. Mais il ne supprime pas réellement les éléments en double dans le tableau, mais conserve tous les éléments en double. Si nous voulons vraiment supprimer les éléments en double, nous devons l'utiliser en conjonction avec la fonction unset().

Méthode 2 : utiliser des boucles et des fonctions non définies

Nous pouvons utiliser une boucle pour parcourir chaque élément du tableau, déterminer s'il existe des éléments en double par comparaison et les supprimer s'ils existent.

Exemple de code :

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

Résultat de sortie :

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

Comme le montre le code ci-dessus, nous parcourons tous les éléments du tableau à travers deux boucles for, puis déterminons s'il y a des éléments en double et utilisons la fonction unset() fonction à sa suppression. Le résultat final est la baie après déduplication.

Il est à noter que lors de l'utilisation de la fonction unset(), si l'on supprime directement les éléments du tableau, l'index du tableau changera. Pour éviter les problèmes causés par les changements d'index, nous pouvons utiliser la fonction array_values() pour réorganiser les index du tableau.

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

Résultat de sortie :

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

Conclusion

Les deux méthodes ci-dessus permettent de supprimer les éléments en double dans un tableau en PHP. D'un point de vue efficacité, l'utilisation de la fonction array_unique() est plus efficace, mais il convient de noter qu'elle renvoie un nouveau tableau plutôt que de supprimer directement le tableau d'origine ; légèrement moins efficace, mais il peut en fait supprimer des éléments répétitifs qui évitent également les modifications des index du tableau. En fonction des besoins spécifiques et des scénarios réels, nous pouvons choisir la méthode appropriée pour gérer les éléments répétés dans les tableaux 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