Maison  >  Article  >  développement back-end  >  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
PHPzoriginal
2023-04-19 11:39:34809parcourir

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;  
}

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);  
}

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; 
}

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!

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