Heim > Artikel > Backend-Entwicklung > So entfernen Sie doppelte Werte mit PHP aus einem Array
In PHP ist Array eine der am häufigsten verwendeten Datenstrukturen. Es kann mehrere Elemente speichern, ist flexibel und praktisch und wird häufig in der Entwicklung verwendet. In der tatsächlichen Entwicklung müssen wir jedoch häufig einige Vorgänge an Arrays ausführen, z. B. das Löschen doppelter Werte. In diesem Artikel wird erläutert, wie Sie mit PHP doppelte Werte aus einem Array entfernen.
1. Prinzip
Methode 1: Verwenden Sie die Funktion array_unique
PHP stellt eine Funktion array_unique bereit, die doppelte Werte aus dem Array entfernen kann. Die Syntax lautet wie folgt:
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
Diese Funktion akzeptiert ein Array als Parameter und gibt ein neues Array zurück , new Die Werte im Array schließen doppelte Werte aus dem ursprünglichen Array aus. Der zweite Parameter $sort_flags wird verwendet, um anzugeben, wie das Ausgabearray sortiert werden soll. Standardmäßig behält das Ausgabearray die Schlüsselnamen des ursprünglichen Arrays bei.
Beispielcode:
$arr = array(1,2,2,3,4,4,5); $new_arr = array_unique($arr); print_r($new_arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
Methode 2: Schleifendurchlauf verwenden
Vergleichen Sie jedes Element im Array mit den folgenden Elementen, indem Sie das Array durchlaufen Wenn die Werte identisch sind, löschen Sie die folgenden Elemente, um die Deduplizierungsfunktion zu erreichen.
Beispielcode:
$arr = array(1,2,2,3,4,4,5); for($i=0;$i<count($arr);$i++){ for($j=$i+1;$j<count($arr);$j++){ if($arr[$i]==$arr[$j]){ array_splice($arr,$j,1); $j--; } } } print_r($arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
2. Verwenden Sie Methode eins, um doppelte Werte im Array zu löschen.
Wir verwenden die erwähnte Funktion array_unique Um diese Deduplizierungsfunktion zu erreichen, lautet der Beispielcode wie folgt:
$arr = array(1,2,2,3,4,4,5); $new_arr = array_unique($arr); print_r($new_arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
3 Verwenden Sie Methode 2, um doppelte Werte im Array zu löschen
Wir verwenden die Methode von Beim Durchlaufen des Arrays zum Löschen von Duplikaten im Array-Wert lautet der Beispielcode wie folgt:
$arr = array(1,2,2,3,4,4,5); for($i=0;$i<count($arr);$i++){ for($j=$i+1;$j<count($arr);$j++){ if($arr[$i]==$arr[$j]){ array_splice($arr,$j,1); $j--; } } } print_r($arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
4 Leistungsvergleich
Die Zeitkomplexität der beiden Methoden beträgt O( n) bzw. O(n^2), Methode eins Die zeitliche Komplexität ist geringer und die Leistung besser. Daher sollten wir in der tatsächlichen Entwicklung versuchen, Methode eins zu wählen, um die Array-Deduplizierung zu implementieren und die Programmleistung zu verbessern.
5. Zusammenfassung
In diesem Artikel werden zwei Methoden zum Löschen doppelter Werte in Arrays in PHP vorgestellt. Durch Vergleich kann festgestellt werden, dass Methode eins weniger Zeit benötigt Komplexität und bessere Leistung gut. In bestimmten Fällen kann Methode 2 jedoch besser geeignet sein. In der tatsächlichen Entwicklung sollten wir Entscheidungen auf der Grundlage tatsächlicher Bedingungen treffen, um die Effizienz des Programms zu verbessern.
Das obige ist der detaillierte Inhalt vonSo entfernen Sie doppelte Werte mit PHP aus einem Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!