Maison  >  Article  >  développement back-end  >  Comment supprimer des noms de clés identiques dans un tableau en php

Comment supprimer des noms de clés identiques dans un tableau en php

PHPz
PHPzoriginal
2023-04-25 10:42:59468parcourir

En programmation PHP, un tableau est une structure de données couramment utilisée, souvent utilisée pour stocker un groupe de données du même type. Un tableau est une liste indexée où chaque élément possède une clé spécifique. Mais généralement, nous pouvons être confrontés à la nécessité de supprimer les mêmes noms de clés dans le tableau. Cet article explique comment supprimer les mêmes noms de clés dans un tableau en PHP.

Méthode 1 : utilisez la fonction array_unique

La fonction array_unique() peut supprimer les valeurs en double dans le tableau et renvoyer un nouveau tableau. Si vous devez supprimer des éléments avec les mêmes noms de clé, vous pouvez d'abord utiliser array_values() pour obtenir un nouveau tableau d'index, puis utiliser la fonction array_unique() pour supprimer les doublons, et enfin utiliser la fonction array_combine() pour recombiner les noms de clés. et les valeurs dans un nouveau tableau associatif.

L'exemple de code est le suivant :

$original_array = array(
  "id" => "001",
  "name" => "John",
  "gender" => "male",
  "id" => "002",
  "city" => "New York",
  "gender" => "female"
);

$new_array = array_values(array_unique($original_array));
$result_array = array_combine(range(1, count($new_array)), $new_array);

print_r($result_array);

Le code ci-dessus affichera le résultat suivant :

Array
(
    [1] => 001
    [2] => John
    [3] => male
    [4] => New York
    [5] => female
)

Méthode 2 : utiliser la boucle foreach

Si nous devons dédupliquer des éléments avec des noms de clés répétés dans le tableau d'origine et conserver le dernier Premièrement, nous pouvons utiliser la boucle foreach parcourt le tableau, trouve les éléments en double en comparant les noms de clés, puis utilise la fonction unset() pour supprimer les éléments en double.

L'exemple de code est le suivant :

$original_array = array(
  "id" => "001",
  "name" => "John",
  "gender" => "male",
  "id" => "002",
  "city" => "New York",
  "gender" => "female"
);

foreach ($original_array as $key => $value) {
  $duplicated_key = array_keys($original_array, $value);
  if (count($duplicated_key) > 1) {
    unset($original_array[$duplicated_key[0]]);
  }
}

print_r($original_array);

Le code ci-dessus affichera les résultats suivants :

Array
(
    [name] => John
    [gender] => female
    [city] => New York
)

Notez que le code ci-dessus ne peut supprimer que les noms de clés en double consécutifs. Si vous souhaitez supprimer tous les noms de clés en double, vous pouvez modifier la boucle foreach en boucle while et effectuer l'opération unset() en interne jusqu'à ce que les noms de clés des éléments supprimés ne soient plus répétés.

Pour résumer, en PHP, vous pouvez utiliser la fonction array_unique() ou la boucle foreach pour supprimer les mêmes noms de clés dans le tableau. Dans des scénarios spécifiques, nous devons choisir la méthode appropriée 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