Maison  >  Article  >  développement back-end  >  Comment implémenter l'élimination de tableau avec les mêmes valeurs clés en PHP

Comment implémenter l'élimination de tableau avec les mêmes valeurs clés en PHP

PHPz
PHPzoriginal
2023-04-17 16:36:41436parcourir

Dans le langage de programmation PHP, le tableau est un type de données très couramment utilisé. Il peut stocker plusieurs éléments de données et accéder à chaque élément via une clé. Au cours du processus de développement, nous rencontrons souvent des situations où nous devons éliminer des valeurs avec la même clé dans un tableau. Cet article présentera comment implémenter cette opération en PHP.

  1. Comprendre les concepts de base des tableaux PHP

En PHP, un tableau est une collection ordonnée de données, qui peut contenir différents types de données, tels que des entiers, des types à virgule flottante, des chaînes et des types booléens. Les éléments d'un tableau sont accessibles à l'aide de leurs valeurs clés. En PHP, les tableaux peuvent être déclarés et initialisés sous diverses formes, par exemple en utilisant la fonction array() ou en utilisant l'opérateur [] pour créer un tableau. array()函数,或者使用[]运算符来创建一个数组。

例如,在以下代码中,我们可以创建一个包含5个元素的数组,并初始化每个元素。

$numbers = array(1, 2, 3, 4, 5);

或者,你也可以使用[]运算符来初始化一个数组:

$numbers = [1, 2, 3, 4, 5];

在这两种情况下,变量$numbers将是一个包含5个元素的数组,并且可以通过键值来访问每个元素。例如,我们可以使用$numbers[0]

Par exemple, dans le code suivant, nous pouvons créer un tableau avec 5 éléments et initialiser chaque élément.
    $numbers = array(1, 2, 3, 4, 5, 5, 4);
    $uniqueNumbers = array_unique($numbers);
  1. Alternativement, vous pouvez utiliser l'opérateur [] pour initialiser un tableau :
  2. $numbers = array(1, 2, 3, 4, 5, 5, 4);
    $uniqueNumbers = array_filter($numbers, function ($value, $key) use ($numbers) {
        return array_keys($numbers, $value)[0] === $key;
    }, ARRAY_FILTER_USE_BOTH);
Dans les deux cas, la variable $numbers sera un tableau contenant 5 Un tableau d'éléments, et chaque élément est accessible par valeur clé. Par exemple, nous pouvons utiliser $numbers[0] pour accéder au premier élément.

Supprimer les valeurs de clé identiques​​des tableaux PHP

Habituellement, lors de l'écriture de programmes PHP, nous devons traiter diverses données, telles que l'interrogation de données d'une base de données, la lecture de données d'un fichier ou la réception de données d'un formulaire Web. Dans ces cas, nous rencontrons souvent des situations où nous devons éliminer les valeurs ayant la même valeur clé dans un tableau PHP.

Heureusement, en PHP, il existe de nombreuses façons de réaliser cette opération. Les trois méthodes les plus couramment utilisées sont répertoriées ci-dessous :

2.1 Utilisez la fonction array_unique pour supprimer les doublons

PHP a une fonction intégrée array_unique, qui peut supprimer les valeurs en double dans le tableau, par exemple :

$numbers = array(1, 2, 3, 4, 5, 5, 4);
$tempNumbers = array();
foreach ($numbers as $key => $value) {
    if (in_array($value, $tempNumbers)) {
        unset($numbers[$key]);
    } else {
        $tempNumbers[] = $value;
    }
}
Dans le Dans l'exemple ci-dessus, nous définissons un tableau $numbers contenant plusieurs valeurs de clé identiques et la fonction array_unique est utilisée pour le dédupliquer. Le résultat est que les valeurs ayant la même valeur clé seront éliminées. En fin de compte, $uniqueNumbers sera un nouveau tableau contenant différentes valeurs clés.

2.2 Utilisez la fonction array_filter pour filtrer les valeurs clés

La fonction array_filter est utilisée pour filtrer les éléments d'un tableau. Elle accepte un tableau contenant des éléments et renvoie un nouveau tableau qui contient uniquement les éléments qui remplissent les conditions spécifiées.

Par exemple, dans le code suivant, nous définissons un tableau $numbers qui contient plusieurs valeurs de clé identiques et utilisons la fonction array_filter pour filtrer les valeurs de clé en double.

rrreee

Dans le code ci-dessus, nous utilisons une fonction anonyme et transmettons le tableau $numbers et la valeur de la clé actuelle comme paramètres. Dans le corps de la fonction, nous utilisons la fonction array_keys pour obtenir la première occurrence de la valeur de clé actuelle dans le tableau $numbers et la comparer avec la valeur de clé actuelle. True ne sera renvoyé que si les deux valeurs clés sont identiques. Le nouveau tableau finalement renvoyé est un tableau contenant uniquement des valeurs clés sans doublons.

2.3 Utilisez le parcours de boucle foreach pour réaliser la déduplication

Nous pouvons utiliser la boucle foreach pour parcourir le tableau et utiliser une variable temporaire pour enregistrer les valeurs de clé non dupliquées. Pour chaque élément, on vérifie s'il est déjà apparu dans la variable temporaire. Si c'est le cas, il est supprimé du tableau d'origine, sinon il est ajouté à une variable temporaire.
  1. Ce qui suit est un exemple de code :
  2. rrreee
Dans le code ci-dessus, nous définissons d'abord un tableau temporaire $tempNumbers et utilisons une boucle foreach pour parcourir le tableau d'origine $numbers. Pour chaque élément, on vérifie s'il apparaît déjà dans le tableau temporaire $tempNumbers. Si c'est le cas, utilisez la fonction unset pour le supprimer du tableau d'origine $numbers ; sinon, ajoutez-le au tableau temporaire $tempNumbers. En fin de compte, le tableau $numbers est un tableau sans valeurs de clé en double.

🎜Résumé🎜🎜🎜Dans cet article, nous avons présenté l'opération consistant à supprimer les mêmes valeurs clés​​d'un tableau dans le langage de programmation PHP. En utilisant les fonctions intégrées de PHP array_unique, array_filter et foreach loop, nous pouvons facilement éliminer les valeurs de clé en double dans le tableau. Quelle que soit la méthode utilisée, elle peut aider les développeurs à traiter plus efficacement les données des tableaux PHP. 🎜

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