Das Beispiel in diesem Artikel beschreibt eine schnellere Implementierung der PHP-Array-Deduplizierung. Teilen Sie es wie folgt mit allen als Referenz:
Empfohlene Tutorials: PHP-Video-Tutorial
PHP verwendenarray_unique()
Mit der Funktion können Sie ein Array übergeben, dann doppelte Werte entfernen und ein Array mit eindeutigen Werten zurückgeben. Diese Funktion funktioniert die meiste Zeit gut. Wenn Sie jedoch versuchen, die Funktion array_unique()
auf einem großen Array zu verwenden, wird sie langsamer ausgeführt.
Empfohlenes Handbuch: php vollständiges Handbuch zum Selbststudium
Es gibt eine bessere und schnellere Funktion array_flip()
, die stattdessen verwendet werden kannarray_unique()
Funktion zum Erstellen eines eindeutigen Arrays. Diese magische Funktion vertauscht den Schlüssel und den Wert jedes Elements im Array, da der Schlüsselwert eindeutig sein muss. Daher erhalten Sie das gleiche Ergebnis wie die Funktion array_unique()
.
/* 创建一个包含重复值的,一共四个元素的数组 */ $array = array('green','blue','orange','blue'); /* 翻转数组,你将会得到唯一键值的数组 array('green'=>0,'blue'=>1,'orange'=>2); */ $array = array_flip($array); /* 然后再翻转一次,将键和值重新放置,然后得到数组:array(0=>'green',1=>'blue',2=>'orange'); */ $array = array_flip($array); print_r($array)
Laufergebnis:
Array ( [0] => green [3] => blue [2] => orange )
Da wir einige Elemente entfernt haben, sieht das Array nicht wie eine normale Sequenz aus. Beispielsweise erhalten wir: array(0=>'A',2=>'B',5=>'C');. In einigen Fällen ist dies kein Problem. Wenn Sie jedoch möchten, dass die Array-Schlüssel in numerischer Reihenfolge bleiben, können Sie eine oder zwei Methoden verwenden, um das Problem zu lösen, dass die Schlüsselwerte nicht in der richtigen Reihenfolge sind.
Verwenden Sie array_merge, um die Schlüssel des Arrays zu korrigieren
Die Funktion sortiert nach dem Hinzufügen von array_flip die Schlüssel des Arrays und lässt sie zu sie Stellen Sie die normale Reihenfolge wieder her, zum Beispiel: 0,1,2,3...
$array = array('green','blue','orange','blue'); $array = array_flip($array); $array = array_flip($array); /* 使用array_merge()函数修复键值*/ $array = array_merge($array); print_r($array)
Das laufende Ergebnis ist das gleiche wie oben
Die zweite Möglichkeit ist die Verwendung array_keys
Beachten Sie, dass diese Methode zum Reparieren von Array-Schlüsselwerten etwas schneller ist als die Verwendung der Funktion array_merge(). Sie können im letzten Schritt auch die Funktion array_keys() verwenden (diese Funktion gibt den umgedrehten Wert zurück). Wenn Sie dann die Werte des Arrays umdrehen, werden die Schlüssel der Reihe nach erstellt.
$array = array('green','blue','orange','blue'); $array = array_flip($array); /* 跟第一个例子一样,但是现在我们先提取数组的键值 */ $array = array_keys($array); print_r($array)
Die laufenden Ergebnisse sind die gleichen wie oben
Fazit
Im Vergleich zur Verwendung von array_unique Funktion in einem großen Array gibt es eine effektive Leistungsverbesserung.
Empfohlene verwandte Artikel:
1.Beispiel dafür, wie PHP die Array-Deduplizierung schnell implementieren kann
2.PHP verwendet array_unique, um zweidimensionale Arrays zu deduplizieren
3.HP dedupliziert effizient eindimensionale Arrays
Verwandte Videoempfehlungen:
1.Dugu Jiujian (4)_PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo entfernen Sie Duplikate aus einem PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!