Maison  >  Article  >  développement back-end  >  Comment supprimer les éléments en double du tableau php (trois méthodes)

Comment supprimer les éléments en double du tableau php (trois méthodes)

PHPz
PHPzoriginal
2023-04-12 09:18:242293parcourir

PHP est un langage de script côté serveur largement utilisé avec des fonctions puissantes et flexibles, ce qui en fait le langage préféré pour le développement back-end de nombreux sites Web. En PHP, vous devez parfois supprimer les éléments en double d'un tableau. Cet article explique comment utiliser diverses fonctionnalités de PHP pour supprimer les éléments en double d'un tableau.

Méthode 1 : utilisez la fonction array_unique()
La fonction array_unique() intégrée de PHP peut supprimer les valeurs en double​​dans le tableau. Cette fonction renverra un nouveau tableau dans lequel toutes les valeurs en double​​ont été. supprimé. La syntaxe de base de cette fonction est la suivante :

array array_unique(array $array [, int $sort_flags = SORT_STRING ])

Parmi eux, $array est le tableau qui doit être dédupliqué et $sort_flags est l'indicateur de tri. , utilisé pour spécifier le résultat de la déduplication, peut être les valeurs suivantes :

  • SORT_REGULAR - compare les types de données et les valeurs
  • SORT_NUMERIC - compare les valeurs uniquement, trie par ordre numérique
  • SORT_STRING - compare les valeurs ​​uniquement, trie dans l'ordre des chaînes

Exemple de code Comme suit :

<?php   
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $result = array_unique($arr);  
   print_r($result); 
?>

Le résultat de sortie est :

Array ( [a] => apple [b] => banana )

Dans l'exemple ci-dessus, puisque le tableau $arr contient deux valeurs identiques ​​​​"apple", après avoir utilisé la fonction array_unique() pour supprimer les doublons, il n'en reste qu'un seul dans le résultat "pomme".

Méthode 2 : utiliser le parcours de boucle
Lorsque vous devez supprimer les valeurs en double dans le tableau, vous pouvez également utiliser le parcours de boucle pour y parvenir. L'idée de base est de parcourir le tableau, de comparer chaque élément avec l'élément précédent et, s'il est identique à l'élément précédent, de supprimer l'élément jusqu'à ce qu'il n'y ait plus d'éléments en double dans le tableau.

L'exemple de code est le suivant :

<?php   
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $newArr = array();  
   foreach ($arr as $value) {  
      if(!in_array($value, $newArr)){  
         $newArr[] = $value;  
      }  
   }  
   print_r($newArr);  
?>

Le résultat de sortie est :

Array ( [0] => apple [1] => banana )

Dans l'exemple ci-dessus, une boucle foreach est utilisée pour parcourir le tableau $arr et stocker chaque élément dans le nouveau tableau $newArr si c'est le cas. trouvé qu'il est déjà dans $newArr Contient la même valeur, ignorez cette valeur et continuez à vérifier l'élément suivant.

Méthode 3 : utilisez les fonctions array_flip() et array_keys()
Vous pouvez également utiliser les fonctions intégrées de PHP array_flip() et array_keys() pour supprimer les doublons. La fonction

array_flip() peut être utilisée pour échanger les clés et les valeurs correspondantes dans le tableau afin d'atteindre l'objectif de déduplication. La syntaxe de base de cette fonction est la suivante :

array array_flip(array $array)

Parmi eux, $array est le tableau dont les valeurs clés doivent être échangées. La fonction

array_keys() peut renvoyer toutes les clés du tableau. La syntaxe de base est la suivante :

array array_keys(array $array [, Mixed $search_value = null [, bool $strict = false ]])

where $array est le tableau spécifié, $search_value est un paramètre facultatif, utilisé pour spécifier la valeur à trouver, si elle n'est pas spécifiée, toutes les clés seront renvoyées, $strict est un paramètre facultatif, utilisé pour spécifier s'il faut utiliser une comparaison congruente.

L'exemple de code est le suivant :

<?php  
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $newArr = array_flip(array_keys($arr));  
   print_r($newArr); 
?>

Le résultat de sortie est :

Array ( [apple] => c [banana] => b )

Dans l'exemple ci-dessus, utilisez d'abord la fonction array_keys() pour renvoyer toutes les clés du tableau $arr, puis utilisez la fonction array_flip() fonction pour échanger les clés et les valeurs pour obtenir le nouveau tableau $newArr. Étant donné que les clés du tableau doivent être uniques, cette méthode peut obtenir l'effet de déduplication.

Résumé
Cet article présente trois méthodes de déduplication d'éléments de tableau en PHP : en utilisant la fonction array_unique(), en utilisant le parcours de boucle et en utilisant les fonctions array_flip() et array_keys(). Différentes méthodes ont différents scénarios et effets applicables, et il est nécessaire de choisir la méthode appropriée en fonction de la situation spécifique.

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