La méthode est la suivante :
$arr = array(…………);//Supposons qu'il existe un tableau de 10 000 éléments avec des éléments répétés.
$arr = array_flip(array_flip($arr)); //De cette façon, les éléments en double peuvent être supprimés.
Que diable se passe-t-il ? Regardons la fonction 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" => "nom"); 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" => "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 est écrit de manière plus concise : $arr1 = array_flip(array_flip($arr1));