Maison  >  Article  >  développement back-end  >  php array_flip (explication détaillée de la fonction pour supprimer les éléments en double du tableau)

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

怪我咯
怪我咯original
2017-07-06 09:43:321334parcourir

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!

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