Heim  >  Artikel  >  Backend-Entwicklung  >  php array_flip (ausführliche Erläuterung der Funktion zum Löschen doppelter Elemente aus dem Array)

php array_flip (ausführliche Erläuterung der Funktion zum Löschen doppelter Elemente aus dem Array)

怪我咯
怪我咯Original
2017-07-06 09:43:321385Durchsuche

In PHP gibt es eine verfügbare Funktion zum Löschen von doppelten Elementen im Array , nämlich array_unique(), Aber es ist nicht die effizienteste Methode. Die Verwendung der Funktion array_flip() ist etwa fünfmal schneller als array_uniqure().

Die Methode lautet wie folgt:
$arr = array(…………);//Angenommen, es gibt ein Array von 10.000 Elementen mit wiederholten Elementen.
$arr = array_flip(array_flip($arr)); //Dadurch werden doppelte Elemente entfernt.

Was zum Teufel ist da los? Werfen wir einen Blick auf die Rolle von array_flip(): array_flip() wird verwendet, um den Schlüssel und den Wert jedes Elements eines Arrays auszutauschen, wie zum Beispiel:
$arr1 = array ("age" => 30, " name" => ; "Happy Garden");
$arr2 = array_flip($arr1); //$arr2 is array(30 => "age", "Happy Garden" => "name");
In PHP-Arrays dürfen verschiedene Elemente denselben Wert annehmen, aber derselbe Schlüsselname darf nicht von verschiedenen Elementen verwendet werden, wie zum Beispiel:
$arr1 = array ("age" => 30, "name" = > "Happy Garden", "age" => 20 ersetzt "age" => 30
$arr1 = array ("name" => " Happy Garden" ", "age" =>
Hier sind $arr1 und $arr2 gleich.
So können wir wissen, warum array_flip(array_flip($arr)) doppelte Elemente im Array löschen kann. Erstens wird der Wert in $arr zu einem Schlüsselnamen, da der Wert wiederholt wird. Nachdem er zu einem Schlüsselnamen geworden ist, werden diese wiederholten Werte zu doppelten Schlüsselnamen. Die PHP-Engine löscht die doppelten Schlüsselnamen und behält nur den letzten eins. . Zum Beispiel:
$arr1 = array ("age" => 30, "name" => "Happy Park", "age" => 20); $arr1 wird array("Happy Garden" => "name", 20 => "age");//Stellen Sie den Schlüsselnamen und den Wert von $arr1 wieder her:
$ arr1 = array_flip($arr1 );

Der obige Code kann prägnanter geschrieben werden: $arr1 = array_flip(array_flip($arr1));


Das obige ist der detaillierte Inhalt vonphp array_flip (ausführliche Erläuterung der Funktion zum Löschen doppelter Elemente aus dem Array). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn