Bei der PHP-Programmierung stoßen wir häufig auf Situationen, in denen wir doppelte Daten aus einem Array entfernen müssen. In diesem Artikel werden mehrere häufig verwendete Methoden zur Lösung dieses Problems vorgestellt.
Methode 1: Verwenden Sie die Funktion array_unique
Die Funktion array_unique ist die integrierte Funktion von PHP, die doppelte Elemente aus einem Array entfernen und ein neues Array zurückgeben kann. Diese Funktion behält den Schlüsselnamen bei, setzt ihn jedoch zurück, d. h. der ursprüngliche Schlüsselname bleibt nicht erhalten. Das Beispiel lautet wie folgt:
$array = array(1, 2, 3, 3, 4, 5, 5); $new_array = array_unique($array); print_r($new_array);
Ausgabe:
Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 4 [5] => 5 )
Methode 2: Schleife zum Entfernen von Duplikaten verwenden
Diese Methode durchläuft das Array und prüft jedes Mal, ob das aktuelle Element angezeigt wird , fügen Sie es einem neuen Array hinzu, andernfalls wird es ignoriert. Das Beispiel lautet wie folgt:
$array = array(1, 2, 3, 3, 4, 5, 5); $new_array = array(); foreach ($array as $value) { if (!in_array($value, $new_array)) { $new_array[] = $value; } } print_r($new_array);
Ausgabe:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
Methode 3: Verwenden Sie die Funktionen array_flip und array_keys
Diese Methode ist cleverer. Verwenden Sie array_flip, um die Schlüssel und Werte im Array auszutauschen und doppelte Werte zu entfernen. und verwenden Sie dann array_keys, um die Schlüssel im ursprünglichen Array-Schlüssel zu erhalten. Das Beispiel sieht wie folgt aus:
$array = array(1, 2, 3, 3, 4, 5, 5); $array = array_flip($array); $array = array_flip($array); print_r(array_keys($array));
Ausgabe:
Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 4 [4] => 5 )
Es ist zu beachten, dass diese Methode den Schlüsselnamen zurücksetzt und das erste erscheinende Element nach dem Entfernen von Duplikaten beibehalten wird, sodass der Schlüsselname des ersten Elements 0 wird .
Methode 4: Verwenden Sie die Funktion array_reduce
Diese Methode verwendet die Funktion array_reduce, um das Array vom Anfang bis zum Ende zu durchlaufen. Wenn es nicht angezeigt wird, wird es einem neuen Array hinzugefügt . Ein Beispiel lautet wie folgt:
$array = array(1, 2, 3, 3, 4, 5, 5); $new_array = array_reduce($array, function($carry, $item) { if (!in_array($item, $carry)) { $carry[] = $item; } return $carry; }, array()); print_r($new_array);
Ausgabe:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
Es ist zu beachten, dass diese Methode eine Rückruffunktion als zweiten Parameter implementieren muss. Die Funktion dieser Rückruffunktion besteht darin, das Array zu durchlaufen und ein neues Array als zurückzugeben Ergebnis.
Fazit
Es gibt viele Möglichkeiten, doppelte Daten aus Arrays in PHP zu entfernen, aber die Effizienz und Lesbarkeit sind nicht gleich. Die Auswahl der am besten geeigneten Methode basierend auf der tatsächlichen Situation kann die Effizienz und Wartbarkeit des Codes verbessern.
Das obige ist der detaillierte Inhalt vonSo entfernen Sie doppelte Daten aus einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!