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

Comment déterminer s'il y a des éléments en double dans un tableau en php

PHPz
Libérer: 2023-03-24 17:36:01
original
1483 Les gens l'ont consulté

PHP est un langage de script largement utilisé dans le développement Web. Dans le développement PHP, nous impliquons souvent le type de données tableau. Déterminer s'il existe des éléments en double dans le tableau est également une tâche très importante. Dans cet article, nous verrons comment déterminer s'il existe des éléments en double dans un tableau à l'aide de PHP.

Utilisez la fonction array_count_values() pour les statistiques

Une autre méthode consiste à utiliser la fonction array_count_values() pour les statistiques. Cette fonction renverra un nouveau tableau contenant le nombre de fois où chaque élément apparaît. Nous pouvons parcourir le nouveau tableau et déterminer les éléments qui apparaissent plus de 1 comme éléments en double.

Voici un exemple de code :

<?php

$arr = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;orange&#39;, &#39;orange&#39;);
$arr_new = array_count_values($arr);

foreach($arr_new as $key => $value) {
    if($value != 1) {
        unset($arr[$key]);
    }
}

print_r($arr);
?>
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

La méthode d'utilisation de la fonction array_count_values() pour les statistiques est également très bonne et a une certaine praticité.

Connaissances approfondies : Déduplication

  • Utilisez la fonction array_unique() pour supprimer les éléments en double

La fonction array_unique() est une fonction qui a été encapsulée en PHP pour supprimer les éléments en double d'un tableau. Sa structure syntaxique est la suivante :

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
Copier après la connexion

Cette fonction renverra un nouveau tableau après avoir supprimé les éléments en double, où sort_flags est un paramètre facultatif utilisé pour définir les règles de tri. Par défaut, la fonction effectue une comparaison de chaînes de toutes les valeurs et les trie par ordre croissant. Nous pouvons sélectionner les paramètres à trier en fonction de nos besoins.

Ce qui suit est un exemple :

<?php

$arr = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;orange&#39;, &#39;orange&#39;);
$arr_new = array_unique($arr);
print_r($arr_new);
?>
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

Comme vous pouvez le voir, la fonction supprime avec succès les éléments en double dans le tableau.

  • Utiliser la méthode de déduplication en boucle

Dans le développement PHP, nous pouvons utiliser des boucles pour parcourir le tableau et effectuer des opérations de déduplication dans le temps. Les étapes spécifiques sont les suivantes :

1. Obtenez la longueur du tableau
Nous pouvons utiliser la fonction count() pour obtenir la longueur du tableau.

2. Parcourez le tableau
Utilisez l'instruction de boucle for pour parcourir le tableau. À ce stade, vous pouvez utiliser deux variables i et j, où i est utilisé pour pointer vers l'élément actuel sur lequel l'opération est effectuée, et j est utilisé. pour pointer vers l'élément suivant.

3. Déterminez s'il y a des éléments en double
À l'intérieur de la boucle, nous pouvons utiliser l'instruction if pour juger si l'élément i est égal à l'élément j, on considère qu'il y a un élément en double, et le unset(). La fonction peut être utilisée pour supprimer l’élément.

Ce qui suit est un exemple de code :

<?php

$arr = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;orange&#39;, &#39;orange&#39;);
$len = count($arr);

for($i=0; $i<$len-1; $i++) {
    for($j=$i+1; $j<$len; $j++) {
        if($arr[$i] == $arr[$j]) {
            unset($arr[$j]);
        }
    }
}

print_r($arr);
?>
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

Vous pouvez voir que l'effet de la déduplication via les boucles est également assez bon

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!

Étiquettes associées:
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