Maison  >  Article  >  développement back-end  >  Comment interroger les valeurs de clé en double dans un tableau en php

Comment interroger les valeurs de clé en double dans un tableau en php

PHPz
PHPzoriginal
2023-04-23 10:21:57745parcourir

Dans le développement PHP, il est souvent nécessaire d'interroger les valeurs clés en double des éléments du tableau. Par exemple, lors du traitement des données de formulaire soumises par les utilisateurs, vous devrez peut-être vous assurer que toutes les données soumises sont uniques. Cet article explique comment utiliser le langage PHP pour interroger les valeurs de clé en double dans un tableau.

Array en PHP est une structure de données très couramment utilisée et très puissante, qui permet de stocker la correspondance entre les clés et les valeurs. Les clés du tableau peuvent être des entiers ou des chaînes, et les valeurs peuvent être n'importe quel type de données. En PHP, vous pouvez créer un tableau en utilisant la syntaxe suivante :

$myArray = array('apple', 'banana', 'cherry');

Le code ci-dessus crée un tableau avec trois éléments, chaque élément étant une chaîne. Dans un tableau, chaque élément a un index numérique correspondant, et les éléments du tableau sont accessibles via l'index :

echo $myArray[0]; // 输出 'apple'
echo $myArray[1]; // 输出 'banana'
echo $myArray[2]; // 输出 'cherry'

En plus des index numériques, les tableaux PHP peuvent également utiliser des index de chaîne. Par exemple :

$myArray = array('name' => '张三', 'age' => 18, 'gender' => '男');
echo $myArray['name']; // 输出 '张三'
echo $myArray['age']; // 输出 18
echo $myArray['gender']; // 输出 '男'

Au cours du processus de développement, nous rencontrons souvent le besoin d'interroger des valeurs clés répétées​​dans un tableau pour garantir l'unicité des données et éviter les erreurs causées par la duplication des données. Par exemple, nous pourrions avoir besoin d’interroger une liste d’utilisateurs pour voir s’ils ont le même nom d’utilisateur. En PHP, vous pouvez utiliser la fonction array_count_values() pour interroger le nombre d'occurrences d'éléments du tableau et compter le nombre d'éléments répétés. Par exemple :

$users = array('张三', '李四', '王五', '张三', '李四');
$result = array_count_values($users);
print_r($result);

Le résultat est le suivant :

Array (
    [张三] => 2
    [李四] => 2
    [王五] => 1
)

Dans le code ci-dessus, nous créons un tableau $users contenant cinq éléments, qui contient deux éléments répétés. En appelant la fonction array_count_values(), vous pouvez utiliser chaque élément du tableau comme clé et le nombre d'occurrences comme valeur pour former un nouveau tableau. Dans la sortie de ce nouveau tableau, la clé est l'élément du tableau de données d'origine et la valeur est le nombre de fois que cet élément apparaît dans le tableau d'origine.

Si vous souhaitez interroger tous les éléments répétés du tableau, vous pouvez utiliser la fonction array_keys() pour obtenir la clé avec une valeur de 2 (occurrence supérieure à 1) dans le tableau de résultats, comme indiqué ci-dessous :

$users = array('张三', '李四', '王五', '张三', '李四');
$result = array_count_values($users);
$repeated = array_keys($result, 2);
print_r($repeated);

Le Le résultat de sortie est le suivant :

Array (
    [0] => 张三
    [1] => 李四
)

Dans le code ci-dessus, nous utilisons la fonction array_keys() pour obtenir la clé de valeur 2, qui est la clé de tous les éléments en double dans le tableau. Chaque élément de la sortie de ce nouveau tableau est un élément en double.

Dans le développement réel, nous devrons peut-être être plus flexibles dans la gestion des éléments en double, comme les supprimer du tableau ou les marquer comme données incorrectes. Voici un exemple d'utilisation de foreach pour parcourir un tableau et marquer les éléments en double :

$users = array('张三', '李四', '王五', '张三', '李四');
$counts = array();
foreach ($users as $user) {
    if (isset($counts[$user])) {
        $counts[$user]++;
    } else {
        $counts[$user] = 1;
    }
}
foreach ($users as &$user) {
    if ($counts[$user] > 1) {
        $user = $user . '(重复)';
    }
}
print_r($users);

Le résultat est le suivant :

Array (
    [0] => 张三(重复)
    [1] => 李四(重复)
    [2] => 王五
    [3] => 张三(重复)
    [4] => 李四(重复)
)

Dans le code ci-dessus, nous définissons d'abord un tableau vide $counts pour enregistrer le nombre de chaque élément dans le tableau d'origine Nombre d'occurrences. Parcourez ensuite le tableau d'origine $users. Si un élément existe déjà dans le tableau $counts, ajoutez 1 à son nombre d'occurrences, sinon, définissez son nombre d'occurrences sur 1. Enfin, le tableau d'origine $users est à nouveau parcouru, et si un élément apparaît à plus de 1 dans le tableau $counts, il est marqué comme élément en double.

En plus des méthodes ci-dessus, il existe de nombreuses autres fonctions de traitement de tableaux en PHP auxquelles vous pouvez vous référer. Par exemple, la fonction array_unique() peut être utilisée pour supprimer les éléments en double dans un tableau, et la fonction array_diff() peut être utilisée pour rechercher des éléments non en double, etc.

En bref, interroger les valeurs de clé en double​​dans un tableau est une exigence courante dans le développement PHP. En utilisant la fonction array_count_values(), nous pouvons rapidement obtenir le nombre d'occurrences de chaque élément du tableau pour gérer les éléments en double.

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