Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie doppelte Daten aus einem Array in PHP

So entfernen Sie doppelte Daten aus einem Array in PHP

PHPz
PHPzOriginal
2023-04-24 09:12:473941Durchsuche

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!

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