Maison  >  Article  >  développement back-end  >  Comment interroger un tableau pour les valeurs en double en PHP

Comment interroger un tableau pour les valeurs en double en PHP

PHPz
PHPzoriginal
2023-04-27 16:38:281359parcourir

En PHP, si l'on a besoin de sauvegarder certains éléments dans une liste, l'idée la plus naturelle est d'utiliser un tableau. Les tableaux peuvent facilement stocker un grand nombre d’éléments et prendre en charge une gamme d’opérations puissantes. Cependant, lorsque notre tableau contient des éléments en double, nous devrons peut-être effectuer quelques opérations supplémentaires pour trouver ces valeurs en double. Cet article explique comment interroger un tableau pour les valeurs en double en PHP.

1. Utilisez la fonction array_count_values ​​​​

La fonction array_count_values ​​​​​​de PHP peut compter les occurrences de chaque valeur dans le tableau et renvoyer un nouveau tableau où les clés se trouvent dans le Valeur du tableau d'origine, la valeur est le nombre de fois que la valeur apparaît dans le tableau d'origine. Par conséquent, nous pouvons utiliser cette fonction pour rechercher des valeurs en double. Voici un exemple simple :

$numbers = array(1, 2, 3, 2, 4, 1, 5, 2);
$counts = array_count_values($numbers);
$repeats = array();
foreach ($counts as $value => $count) {
    if ($count > 1) {
        $repeats[] = $value;
    }
}
print_r($repeats);

Résultat de sortie :

Array
(
    [0] => 1
    [1] => 2
)

Dans l'exemple ci-dessus, nous définissons d'abord un tableau $numbers qui contient des valeurs répétées. Nous avons ensuite appelé la fonction array_count_values ​​​​pour compter le nombre d'occurrences de chaque valeur. La sortie est un tableau contenant deux paires clé-valeur, où la clé est la valeur et la valeur est le nombre de fois que la valeur apparaît.

Nous utilisons ensuite une boucle foreach pour parcourir le tableau et vérifier si le nombre d'occurrences de chaque valeur est supérieur à 1. Si c'est le cas, la valeur est ajoutée à un autre tableau $repeats. Enfin, nous imprimons le tableau $repeats à l'écran en utilisant la fonction print_r pour afficher les valeurs répétées.

2. Utilisez la fonction array_unique et la fonction de comptage

Une autre façon de trouver des valeurs en double dans un tableau consiste à utiliser la fonction array_unique et la fonction de comptage. La fonction array_unique renvoie un tableau dédupliqué, tandis que la fonction de comptage compte le nombre de fois que chaque valeur apparaît dans le tableau. Par conséquent, nous pouvons utiliser ces deux fonctions pour rechercher des valeurs en double. Voici un exemple :

$numbers = array(1, 2, 3, 2, 4, 1, 5, 2);
$unique = array_unique($numbers);
$counts = array_count_values($numbers);
$repeats = array();
foreach ($unique as $value) {
    if ($counts[$value] > 1) {
        $repeats[] = $value;
    }
}
print_r($repeats);

Le résultat est le même que l'exemple précédent :

Array
(
    [0] => 1
    [1] => 2
)

Dans l'exemple ci-dessus, nous utilisons d'abord la fonction array_unique pour séparer les valeurs en double ​​dans le tableau $numbers, supprimez et obtenez un nouveau tableau $unique qui ne contient pas de valeurs en double. Nous utilisons ensuite la fonction array_count_values ​​​​pour compter le nombre d'occurrences de chaque valeur dans le tableau d'origine.

Ensuite, nous utilisons une boucle foreach pour parcourir le tableau $unique et utilisons une fonction count pour vérifier si le nombre de fois que la valeur apparaît dans le tableau d'origine est supérieur à 1. Si tel est le cas, la valeur est ajoutée à un nouveau tableau $repeats et enfin le tableau $repeats est affiché à l'écran pour afficher les valeurs répétées.

3. Utilisez la fonction array_keys

Une autre façon de trouver des valeurs en double dans un tableau consiste à utiliser la fonction array_keys. Cette fonction renvoie un tableau contenant toutes les clés avec la valeur spécifiée. Par conséquent, si nous utilisons cette fonction pour rechercher des valeurs en double, la longueur du tableau résultant sera le nombre de valeurs en double. Voici un exemple :

$numbers = array(1, 2, 3, 2, 4, 1, 5, 2);
$repeats = array();
foreach (array_unique($numbers) as $value) {
    $keys = array_keys($numbers, $value);
    if (count($keys) > 1) {
        $repeats[] = $value;
    }
}
print_r($repeats);

Le résultat de sortie est également le même :

Array
(
    [0] => 1
    [1] => 2
)

Dans l'exemple ci-dessus, nous utilisons d'abord la fonction array_unique pour supprimer les valeurs en double​​ ​dans le tableau $numbers et obtenez un nouveau tableau qui ne contient pas de valeurs en double. Nous utilisons ensuite une boucle foreach pour parcourir le tableau et utilisons la fonction array_keys pour rechercher toutes les clés du tableau d'origine qui contiennent cette valeur. Si le nombre de clés trouvées est supérieur à 1, la valeur est ajoutée à un nouveau tableau $repeats. Enfin, nous imprimons le tableau $repeats à l'écran pour afficher les valeurs répétées.

Summary

Ci-dessus sont trois façons d'interroger les valeurs en double dans les tableaux PHP. Chaque méthode fonctionne légèrement différemment, mais toutes les méthodes sont efficaces pour rechercher des valeurs en double. En apprenant ces méthodes, vous pourrez mieux maîtriser les compétences de manipulation de tableaux en PHP et gérer plus facilement les éléments répétés dans les tableaux dans vos projets.

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