Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für die schnelle Implementierung der Array-Deduplizierung in PHP

Beispiel für die schnelle Implementierung der Array-Deduplizierung in PHP

黄舟
黄舟Original
2018-05-30 15:03:011949Durchsuche

In diesem Artikel wird hauptsächlich die Methode zur schnellen Implementierung der Array-Deduplizierung in der PHP-Programmierung vorgestellt und die PHP-Array-Deduplizierungsfunktion und Verwendungstechniken anhand von Beispielen analysiert.

Die Beispiele in In diesem Artikel wird die PHP-Programmiermethode zur schnellen Implementierung der Array-Deduplizierung beschrieben. Teilen Sie es wie folgt als Referenz mit allen:

Übersicht

Mit der array_unique()-Funktion von PHP können Sie ein Array übergeben und dann move Entfernen Sie doppelte Werte und geben Sie ein Array mit eindeutigen Werten zurück. 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 eindeutige Arrays 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().

Eine schnellere Möglichkeit, PHP-Arrays zu deduplizieren

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

Da wir einige Elemente entfernt haben, sieht das Array nicht wie eine normale Sequenz aus. Beispielsweise könnten wir Folgendes erhalten:

array(0=>'A',2=>'B',5=>'C');

In manchen Fällen ist dies kein Problem, aber wenn Sie den Schlüsselwert des Arrays benötigen, um die Zahlenfolge beizubehalten, können Sie eine oder zwei Methoden verwenden um das Schlüsselwert-Out-of-Order-Problem zu lösen.

Verwenden Sie array_merge, um die Schlüssel des Arrays zu reparieren

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

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

Die zweite Möglichkeit ist die Verwendung von array_keys

. Beachten Sie, dass diese Methode zum Reparieren des Array-Schlüsselwerts 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 im Array umdrehen, werden die Schlüssel der Reihe nach erstellt.

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

Das obige ist der detaillierte Inhalt vonBeispiel für die schnelle Implementierung der Array-Deduplizierung in PHP. 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