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:
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!