In PHP müssen wir häufig verschiedene Vorgänge an Arrays ausführen, z. B. Suchen, Sortieren und Deduplizieren. Der Deduplizierungsvorgang besteht darin, doppelte Elemente im Array zu entfernen. Im tatsächlichen Entwicklungsprozess stoßen wir häufig auf Situationen, in denen wir dieselben Zahlen löschen müssen. In diesem Artikel wird erläutert, wie Sie mit PHP-Arrays doppelte Zahlen entfernen.
1. array_unique()-Funktion
In PHP gibt es eine array_unique()-Funktion, mit der doppelte Werte aus einem Array entfernt und ein neues Array zurückgegeben werden können. Diese Funktion verwendet einen Wertevergleich, d. h. nur Elemente mit gleichen Werten werden als Duplikate betrachtet.
Das Folgende ist ein Beispielcode, der die Funktion array_unique() verwendet, um Duplikate zu entfernen:
<?php //定义一个包含相同数字的数组 $array = array(1, 1, 2, 3, 4, 4, 5, 5, 5); //去重 $new_array = array_unique($array); //输出去重后的数组 print_r($new_array); ?>
Wenn Sie den obigen Code ausführen, erhalten Sie die Ausgabe:
Array ( [0] => 1 [2] => 2 [3] => 3 [4] => 4 [6] => 5 )
Wir können sehen, dass die doppelten Nummern entfernt wurden und nur andere Nummern übrig bleiben .
2. Schleifendurchquerung verwenden, um Duplikate zu entfernen
Zusätzlich zur Verwendung der Funktion array_unique() können wir auch Schleifendurchquerung verwenden, um Duplikate zu entfernen. Die spezifische Implementierung lautet wie folgt:
<?php //定义一个包含相同数字的数组 $array = array(1, 1, 2, 3, 4, 4, 5, 5, 5); //去重 $new_array = array(); foreach ($array as $value) { if (!in_array($value, $new_array)) { $new_array[] = $value; } } //输出去重后的数组 print_r($new_array); ?>
Im obigen Code verwenden wir ein leeres Array $new_array, um eindeutige Zahlen zu speichern. Verwenden Sie dann eine foreach-Schleife, um das ursprüngliche Array $array zu durchlaufen. Wenn sich das aktuelle Element nicht in $new_array befindet, fügen Sie das aktuelle Element dem $new_array-Array hinzu.
Nachdem Sie den obigen Code ausgeführt haben, können Sie die gleiche Ausgabe wie zuvor erhalten:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
3. Leistungsvergleich
Die beiden Methoden zur Deduplizierung sind oben erwähnt. Wie hoch ist ihre Leistung? Vergleichen wir.
Um die Leistung der beiden Methoden zu vergleichen, haben wir ein Array mit 100.000 Zufallszahlen definiert, es dann mit den beiden Methoden dedupliziert und die Ausführungszeit gezählt. Der Code lautet wie folgt:
<?php //1. 使用 array_unique() 函数 $array = array(); for ($i = 0; $i < 100000; $i++) { $array[] = rand(1, 100000); } $start_time = microtime(true); $new_array = array_unique($array); $end_time = microtime(true); echo '使用 array_unique() 函数执行时间:', $end_time - $start_time, ' 秒'; echo "\n"; //2. 使用循环遍历 $array = array(); for ($i = 0; $i < 100000; $i++) { $array[] = rand(1, 100000); } $start_time = microtime(true); $new_array = array(); foreach ($array as $value) { if (!in_array($value, $new_array)) { $new_array[] = $value; } } $end_time = microtime(true); echo '使用循环遍历执行时间:', $end_time - $start_time, ' 秒'; ?>
Wenn Sie den obigen Code ausführen, können Sie die folgende Ausgabe erhalten:
使用 array_unique() 函数执行时间:0.011376142501831 秒 使用循环遍历执行时间:15.46102309227 秒
Wir können sehen, dass die Verwendung der Funktion array_unique() viel effizienter ist.
4. Zusammenfassung
Um die Ausführungseffizienz des Programms zu verbessern, sollten wir versuchen, die von PHP bereitgestellten integrierten Funktionen zu verwenden, anstatt selbst Schleifen und anderen Code für die Verarbeitung zu schreiben. Für das Problem, identische Zahlen in einem Array zu entfernen, ist die Verwendung der in PHP integrierten Funktion array_unique() die einfachste und effizienteste Methode, während die Verwendung von Schleifendurchquerung zum Entfernen von Duplikaten viel Zeit und Ressourcen verschwendet.
Das obige ist der detaillierte Inhalt vonSo löschen Sie dieselben Zahlen im PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!