Heim  >  Artikel  >  Backend-Entwicklung  >  Zwei Möglichkeiten, doppelte Daten aus Arrays in PHP zu entfernen

Zwei Möglichkeiten, doppelte Daten aus Arrays in PHP zu entfernen

PHPz
PHPzOriginal
2023-04-03 11:15:20624Durchsuche

Bei der Datenverarbeitung in PHP stoßen wir häufig auf folgendes Problem: Es gibt ein Array, in dem Daten gespeichert werden, aber es gibt doppelte Elemente im Array, und die doppelten Elemente müssen entfernt werden. Wie kann man dieses Problem lösen?

Methode 1: PHPs eigene Funktion array_unique verwenden

PHP bietet eine sehr praktische Funktion array_unique, mit der die Funktion der Deduplizierung von Arrays realisiert werden kann.

Die Verwendung ist wie folgt:

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

wobei $array das Array ist, das dedupliziert werden muss, $sort_flags ein optionaler Parameter ist, der die Sortiermethode angibt.

Das Prinzip dieser Funktion ist: Erstellen Sie ein neues leeres Array, durchlaufen Sie die Elemente im ursprünglichen Array. Wenn das Element im neuen Array nicht vorhanden ist, fügen Sie das Element dem neuen Array hinzu.

Zum Beispiel:

$arr = array(1, 2, 2, 3, 4, 4, 4, 5);
$arr = array_unique($arr);
print_r($arr);

Das Ausgabeergebnis ist:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [7] => 5
)

Sie können sehen, dass die doppelten Elemente im ursprünglichen Array entfernt wurden.

Methode 2: Durchlaufen des Arrays

Zusätzlich zur Verwendung der mit PHP gelieferten Funktionen können Sie auch eine Deduplizierung durch Durchlaufen des Arrays erreichen.

Die spezifische Methode lautet: Erstellen Sie ein neues leeres Array, durchlaufen Sie die Elemente im ursprünglichen Array. Wenn das Element im neuen Array nicht vorhanden ist, fügen Sie das Element dem neuen Array hinzu.

Der Code ist wie folgt implementiert:

$arr = array(1, 2, 2, 3, 4, 4, 4, 5);
$new_arr = array(); // 新数组
foreach ($arr as $value) {
    if (!in_array($value, $new_arr)) { // $value 在 $new_arr 中不存在
        $new_arr[] = $value; // 添加到 $new_arr 中
    }
}
print_r($new_arr); // 输出新数组

Das Ausgabeergebnis ist:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [7] => 5
)

Im Vergleich zu Methode eins ist diese Methode relativ aufwändiger, aber die Kenntnis der zugrunde liegenden Prinzipien ist hilfreich, um den internen Mechanismus von PHP-Arrays zu verstehen.

Es ist zu beachten, dass die Effizienz von Methode 2 relativ gering ist, da beim Durchlaufen beurteilt werden muss, ob das Element im neuen Array vorhanden ist. Wenn das ursprüngliche Array mehr Elemente enthält, kann die Laufzeit länger sein.

Zusammenfassend gibt es zwei Hauptmethoden zur Deduplizierung von PHP-Arrays: die Verwendung der in PHP integrierten Funktion array_unique und das Durchlaufen des Arrays. Beide Methoden können die Deduplizierungsfunktion erreichen, wobei die Verwendung der in PHP integrierten Funktion array_unique einfacher und schneller ist.

Das obige ist der detaillierte Inhalt vonZwei Möglichkeiten, doppelte Daten aus Arrays in PHP zu entfernen. 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