php array_flip (explication détaillée de la fonction pour supprimer les éléments en double du tableau)

怪我咯
Libérer: 2023-03-12 19:30:02
original
1387 Les gens l'ont consulté

Dans PHP, il y a une fonction disponible pour supprimer les éléments en double dans le tableau , c'est-à-dire array_unique(), Mais cela n'est pas la méthode la plus efficace. L'utilisation de la fonction array_flip() sera environ cinq fois plus rapide que array_uniqure().

La méthode est la suivante :
$arr = array(…………);//Supposons qu'il y ait un tableau de 10 000 éléments avec des éléments répétés.
$arr = array_flip(array_flip($arr)); //Cela supprimera les éléments en double.

Que diable se passe-t-il ? Jetons un coup d'œil au rôle de array_flip() : array_flip() est utilisé pour échanger la clé et la valeur de chaque élément d'un tableau, tel que :
$arr1 = array ("age" => 30, " name" => ; "Happy Garden");
$arr2 = array_flip($arr1); //$arr2 est array(30 => "age", "Happy Garden" => "name");
Dans Dans les tableaux PHP, différents éléments sont autorisés à prendre la même valeur, mais le même nom de clé ne peut pas être utilisé par différents éléments, tels que :
$arr1 = array ("age" => 30, "name" = > "Happy Garden", "age" => 20); "age" => 20 remplacera "age" => 30
$arr1 = array ("name" => " Happy Garden" ", "age" => 45);
Ici $arr1 et $arr2 sont égaux.
Ainsi, nous pouvons savoir pourquoi array_flip(array_flip($arr)) peut supprimer les éléments en double dans le tableau. Premièrement, la valeur dans $arr deviendra un nom de clé, car la valeur est répétée. Après être devenue un nom de clé, ces valeurs répétées deviendront des noms de clé en double. Le moteur PHP supprimera les noms de clé en double et ne conservera que le dernier. un. . Par exemple :
$arr1 = array ("age" => 30, "name" => "Happy Park", "age" => 20
$arr1 = array_flip($arr1); $arr1 devient array("Happy Garden" => "name", 20 => "age");
//Restaurer le nom et la valeur de la clé de $arr1 :
$ arr1 = array_flip($arr1 );

Le code ci-dessus peut être écrit de manière plus concise : $arr1 = array_flip(array_flip($arr1));

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!