Maison >développement back-end >Problème PHP >Deux façons de supprimer les données en double des tableaux en PHP
Lors du traitement de données en PHP, nous rencontrons souvent un tel problème : il existe un tableau qui stocke les données, mais il y a des éléments en double dans le tableau, et les éléments en double doivent être supprimés. Alors comment résoudre ce problème ?
Méthode 1 : Utiliser la propre fonction array_unique de PHP
PHP fournit une fonction array_unique très pratique, qui peut réaliser la fonction de déduplication des tableaux.
L'utilisation est la suivante :
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
où $array est le tableau qui doit être dédupliqué, $sort_flags est un paramètre facultatif, indiquant la méthode de tri.
Le principe de cette fonction est : créer un nouveau tableau vide, parcourir les éléments du tableau d'origine, si l'élément n'existe pas dans le nouveau tableau, ajouter l'élément au nouveau tableau.
Par exemple :
$arr = array(1, 2, 2, 3, 4, 4, 4, 5); $arr = array_unique($arr); print_r($arr);
Le résultat de sortie est :
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [7] => 5 )
Vous pouvez voir que les éléments en double dans le tableau d'origine ont été supprimés.
Méthode 2 : Parcourir le tableau
En plus d'utiliser les fonctions fournies avec PHP, vous pouvez également réaliser la déduplication en parcourant le tableau.
La méthode spécifique est la suivante : créer un nouveau tableau vide, parcourir les éléments du tableau d'origine, si l'élément n'existe pas dans le nouveau tableau, ajouter l'élément au nouveau tableau.
Le code est implémenté comme suit :
$arr = array(1, 2, 2, 3, 4, 4, 4, 5); $new_arr = array(); // 新数组 foreach ($arr as $value) { if (!in_array($value, $new_arr)) { // $value 在 $new_arr 中不存在 $new_arr[] = $value; // 添加到 $new_arr 中 } } print_r($new_arr); // 输出新数组
Le résultat de sortie est :
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [7] => 5 )
Par rapport à la première méthode, cette méthode est relativement gênante, mais connaître les principes sous-jacents est utile pour comprendre le mécanisme interne des tableaux PHP.
Il convient de noter que l'efficacité de la méthode 2 est relativement faible, car il faut déterminer si l'élément existe dans le nouveau tableau lors du parcours. Si le tableau d'origine contient plus d'éléments, le temps d'exécution peut être plus long.
Pour résumer, il existe deux manières principales de dédupliquer des tableaux PHP : en utilisant la fonction intégrée de PHP array_unique et en parcourant le tableau. Les deux méthodes peuvent réaliser la fonction de déduplication, parmi lesquelles l'utilisation de la fonction intégrée de PHP array_unique est plus simple et plus rapide.
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!