Heim > Web-Frontend > js-Tutorial > PHP implementiert schnell die Array-Deduplizierungsmethode

PHP implementiert schnell die Array-Deduplizierungsmethode

php中世界最好的语言
Freigeben: 2018-05-11 15:35:37
Original
1635 Leute haben es durchsucht

Dieses Mal werde ich Ihnen eine Methode zur schnellen Implementierung der Array-Deduplizierung in PHP vorstellen. Was sind die Vorsichtsmaßnahmen für die schnelle Implementierung der Array-Deduplizierung in PHP?

Übersicht

Verwendung von PHP <a href="http://www.php.cn/wiki/1027.%20html%20Mit%20der%20Funktion%20%E2%80%9Etarget=" _blank>array_unique<code><a href="http://www.php.cn/wiki/1027.html" target="_blank">array_unique</a>()() können Sie ein Array übergeben, anschließend 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.

Es gibt eine bessere und schnellere Funktion array_flip(), anstatt die Funktion array_unique() zu verwenden, um ein eindeutiges Array zu erstellen. 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().

PHP-Code:

/* 创建一个包含重复值的,一共四个元素的数组 */
$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)
Nach dem Login kopieren

Ausführungsergebnis:

Array
(
  [0] => green
  [3] => blue
  [2] => orange
)
Nach dem Login kopieren

Da wir einige Elemente entfernt haben, sieht das Array nicht wie eine normale Sequenz aus. Zum Beispiel könnten wir Folgendes erhalten: array(0=>'A',2=>'B',5=>'C');. In einigen Fällen stellt dies kein Problem dar. 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 reparieren

Die Funktion sortiert nach dem Hinzufügen von array_flip die Schlüssel des Arrays und stellt sie in der normalen Reihenfolge wieder her, z als :0,1,2,3…

PHP-Code:

$array = array('green','blue','orange','blue');
$array = array_flip($array);
$array = array_flip($array);
/* 使用array_merge()函数修复键值*/
$array = array_merge($array);
print_r($array)
Nach dem Login kopieren

Das laufende Ergebnis ist das gleiche wie oben

Die zweite Möglichkeit, array_keys zu verwenden

Beachten Sie, dass diese Methode zum Korrigieren von Array-Schlüsseln etwas schneller ist als die Verwendung der Funktion array_merge(). Sie können es auch mit der Funktion array_keys() im letzten Schritt kombinieren (diese Funktion gibt den gespiegelten Wert zurück). Wenn Sie dann die Werte des Arrays umdrehen, werden die Schlüssel der Reihe nach erstellt.

PHP-Code:

$array = array('green','blue','orange','blue');
$array = array_flip($array);
/* 跟第一个例子一样,但是现在我们先提取数组的键值 */
$array = array_keys($array);
print_r($array)
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

JS behält eine Ziffer bei und entfernt Nichtziffern

JS behält zwei Dezimalstellen für Eingabezahlen bei Bestätigungscode

Das obige ist der detaillierte Inhalt vonPHP implementiert schnell die Array-Deduplizierungsmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage