Heim  >  Artikel  >  php教程  >  php array_flip() entfernt doppelte Elemente aus einem Array

php array_flip() entfernt doppelte Elemente aus einem Array

高洛峰
高洛峰Original
2016-12-28 15:18:591896Durchsuche

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)); //Auf diese Weise können doppelte Elemente gelöscht werden.

Was zum Teufel ist da los? Schauen wir uns die Funktion von array_flip() an: 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 ist 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" = > „Alter“ => 20 ersetzt „Alter“ => 30
$arr1 = array („name“ => „Glücklicher Garten“ ", "age" => 45);
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 ist prägnanter geschrieben: $arr1 = array_flip(array_flip($arr1));

Mehr php array_flip() entfernt doppelte Arrays Für elementbezogene Artikel zahlen Sie bitte Achtung auf die chinesische PHP-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