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

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

PHPz
Libérer: 2023-04-25 10:04:23
original
467 Les gens l'ont consulté

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);
Copier après la connexion

Résultat de sortie :

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

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);
Copier après la connexion

Résultat de sortie :

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

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);
Copier après la connexion

Résultat de sortie :

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

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!

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