Heim  >  Artikel  >  Backend-Entwicklung  >  So filtern Sie doppelte Arrays in PHP

So filtern Sie doppelte Arrays in PHP

PHPz
PHPzOriginal
2023-04-20 13:55:17949Durchsuche

In PHP stoßen wir häufig auf Situationen beim Umgang mit Arrays. Eines der häufigsten Probleme besteht darin, doppelte Elemente im Array herauszufiltern. In diesem Artikel wird ausführlich beschrieben, wie Sie doppelte Arrays in PHP filtern.

1. array_unique-Funktion

Die integrierte array_unique-Funktion in PHP kann doppelte Elemente im Array herausfiltern. Es behält das erste Vorkommen des Elements bei und entfernt alle verbleibenden doppelten Elemente.

Die Syntax dieser Funktion lautet wie folgt:

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

wobei:

  • array das Array ist, das gefiltert werden muss.
  • sort_flags ist ein optionaler Parameter, der zur Angabe der Sortiermethode verwendet wird. Standardmäßig werden Elemente als Zeichenfolgen verglichen. Sie können eine numerische oder allgemeine Sortierung festlegen, indem Sie SORT_NUMERIC oder SORT_REGULAR übergeben.

Das Folgende ist ein Beispiel:

$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange');

$new_arr = array_unique($old_arr);

print_r($new_arr); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [4] => orange )

Da es im ursprünglichen Array zwei „Banana“-Elemente gibt, bleibt nach der array_unique-Filterung nur ein „Banana“-Element erhalten.

2. Manuelle Deduplizierung

Zusätzlich zur Funktion array_unique können wir auch eine Funktion von PHP verwenden – Schlüsselnamen können nicht wiederholt werden, um eine manuelle Deduplizierung zu erreichen.

Wir können das ursprüngliche Array durchlaufen und die Elemente als Schlüssel in einem neuen Array speichern, sodass die Schlüssel im neuen Array automatisch dedupliziert werden und die Werte wie gewünscht festgelegt werden können.

Das Folgende ist ein Beispielcode:

$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange');

$new_arr = array();

foreach ($old_arr as $value) {
    $new_arr[$value] = 0;
}

print_r(array_keys($new_arr)); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [3] => orange )

Obwohl diese Methode umständlicher ist, kann sie sicherstellen, dass die Reihenfolge der Eingabe und Ausgabe konsistent ist.

3. array_flip-Funktion

Die in PHP integrierte array_flip-Funktion kann die Schlüsselnamen und Werte des Arrays austauschen. Da Schlüsselnamen nicht wiederholt werden können, kann eine Duplizierung mithilfe der Funktion array_flip schnell erreicht werden.

Das Folgende ist ein Beispielcode:

$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange');

$new_arr = array_flip($old_arr);

print_r(array_keys($new_arr)); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [3] => orange )

Da es im ursprünglichen Array zwei „Banana“-Elemente gibt, bleibt nach der array_flip-Funktion nur ein „Banana“-Element erhalten.

4. Zusammenfassung

Durch die Erklärung dieses Artikels haben wir gelernt, wie man in PHP schnell doppelte Elemente aus einem Array entfernt.

Wir können die integrierte Funktion array_unique verwenden, die manuelle Deduplizierung verwenden oder die Funktion array_flip verwenden, um eine Deduplizierung zu erreichen.

Je nach konkretem Szenario und Bedarf können wir die Methode wählen, die am besten zu uns passt, um doppelte Elemente aus dem Array zu entfernen.

Das obige ist der detaillierte Inhalt vonSo filtern Sie doppelte Arrays 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