Maison > développement back-end > Problème PHP > Comment déterminer s'il y a des doublons dans un tableau en php

Comment déterminer s'il y a des doublons dans un tableau en php

PHPz
Libérer: 2023-04-19 13:51:59
original
923 Les gens l'ont consulté

En PHP, déterminer s'il y a des doublons dans un tableau est un problème très courant. Nous pouvons résoudre ce problème de différentes manières.

Première méthode : utiliser une boucle

La méthode la plus basique consiste à utiliser une boucle pour parcourir le tableau. Nous pouvons trouver des doublons en imbriquant deux boucles. Comme indiqué ci-dessous :

function isDuplicate($arr){ 
    for($i=0;$i<count($arr);$i++){ 
        for($j=$i+1;$j<count($arr);$j++){ 
            if($arr[$i]==$arr[$j]) return true; 
        } 
    } 
    return false;  
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons d'abord la première boucle pour parcourir le tableau, puis utilisons la deuxième boucle pour parcourir les éléments restants du tableau. Si deux éléments adjacents sont égaux, il existe un doublon.

Cependant, cette méthode n'est pas la plus efficace car elle nécessite plusieurs boucles. Surtout lorsque le tableau est relativement grand, le nombre de boucles sera important, ce qui entraînera une faible efficacité.

Deuxième méthode : utilisez la fonction in_array()

Une autre méthode consiste à utiliser la fonction in_array() intégrée de PHP pour déterminer s'il y a des doublons dans le tableau. Cette fonction recherche dans le tableau une valeur donnée et renvoie la première clé trouvée. Comme indiqué ci-dessous :

function isDuplicate($arr){
    $newArr = array_unique($arr);
    return count($newArr) != count($arr);  
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons d'abord la fonction array_unique() pour supprimer les doublons dans le tableau, puis comparons si la longueur du tableau après suppression des doublons est cohérente avec la longueur du tableau d'origine. S'ils sont incohérents, cela signifie qu'il y a des doublons dans le tableau d'origine.

Cette méthode est plus efficace que la première méthode car elle ne nécessite de parcourir le tableau qu'une seule fois, mais il convient de noter qu'elle ne s'applique qu'aux tableaux avec des valeurs non dupliquées.

La troisième méthode : utilisez la fonction array_count_values()

La troisième méthode consiste à utiliser la fonction array_count_values() intégrée de PHP pour compter le nombre d'occurrences de chaque valeur dans le tableau. Si une valeur est supérieure à 1, il y a des doublons. Comme indiqué ci-dessous :

function isDuplicate($arr){ 
    $countArr = array_count_values($arr); 
    foreach($countArr as $value){
        if($value > 1) 
            return true; 
    } 
    return false; 
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons d'abord la fonction array_count_values() pour compter le nombre d'occurrences de chaque valeur dans le tableau, puis utilisons la boucle foreach pour parcourir le tableau statistique si le nombre d'occurrences. de n'importe quelle valeur est supérieure à 1, cela signifie qu'il y a des doublons.

Cette méthode est plus efficace que la première méthode car elle ne nécessite de parcourir le tableau qu'une seule fois, mais il convient de noter que cette méthode ne s'applique qu'aux tableaux avec des valeurs non dupliquées.

Conclusion

Quelle que soit la méthode, vous pouvez déterminer efficacement si un tableau contient des doublons. Chaque méthode a ses avantages et ses inconvénients. Lors de son utilisation, vous devez choisir la méthode qui vous convient le mieux 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