Heim >Backend-Entwicklung >PHP-Problem >PHP-Array schließt Duplikate aus
In PHP müssen wir häufig Array-Operationen verarbeiten, und manchmal gibt es doppelte Elemente in einem Array, die entfernt werden müssen. In diesem Artikel werden mehrere häufig verwendete Methoden zum Entfernen von Duplikaten in PHP-Arrays vorgestellt.
Die Funktion array_unique() kann ein neues Array ohne doppelte Werte zurückgeben.
Beispielcode:
$arr = array("apple", "banana", "cherry", "apple", "banana"); $new_arr = array_unique($arr); print_r($new_arr);
Ausgabeergebnis:
Array ( [0] => apple [1] => banana [2] => cherry )
Eine andere Möglichkeit, Duplikate auszuschließen, besteht darin, eine Schleife zu verwenden, um über das Array zu iterieren und die Funktion in_array() zu verwenden, um zu überprüfen, ob alle vorhanden sind Der Wert ist im neuen Array bereits vorhanden. Wenn es nicht vorhanden ist, fügen Sie es dem neuen Array hinzu.
Beispielcode:
$arr = array("apple", "banana", "cherry", "apple", "banana"); $new_arr = array(); foreach ($arr as $value) { if (!in_array($value, $new_arr)) { $new_arr[] = $value; } } print_r($new_arr);
Ausgabeergebnis:
Array ( [0] => apple [1] => banana [2] => cherry )
$arr = array("apple", "banana", "cherry", "", "banana"); $new_arr = array_filter($arr); print_r($new_arr);Ausgabeergebnis:
Array ( [0] => apple [1] => banana [2] => cherry [4] => banana )Wenn Sie doppelte Elemente ausschließen möchten, können Sie die Rückruffunktion zum Filtern verwenden. Beispielcode:
$arr = array("apple", "banana", "cherry", "apple", "banana"); $new_arr = array_filter($arr, function ($value, $key) use ($arr) { return array_search($value, $arr) === $key; }, ARRAY_FILTER_USE_BOTH); print_r($new_arr);Ausgabeergebnis:
Array ( [0] => apple [1] => banana [2] => cherry )Die Rückruffunktion prüft hier, ob der Index des Werts mit dem Index im Array übereinstimmt. Wenn ja, ist der Wert eindeutig.
Verwenden Sie die Funktionen array_keys() und array_values()
$arr = array("apple", "banana", "cherry", "apple", "banana"); $new_arr = array_values(array_unique(array_keys($arr, true))); print_r($new_arr);Ausgabeergebnis:
Array ( [0] => 0 [1] => 1 [2] => 2 )Was hier zurückgegeben wird, ist ein Array von Schlüsseln, das mithilfe der Funktion array_map() in ein Array von Werten umgewandelt werden kann. Beispielcode:
$arr = array("apple", "banana", "cherry", "apple", "banana"); $new_arr = array_map(function ($key) use ($arr) { return $arr[$key]; }, array_values(array_unique(array_keys($arr, true)))); print_r($new_arr);Ausgabeergebnis:
Array ( [0] => apple [1] => banana [2] => cherry )Die oben genannten Methoden zur Implementierung der Array-Ausschlussduplizierung in PHP haben jeweils unterschiedliche Vor- und Nachteile. Wählen Sie die am besten geeignete Methode entsprechend dem jeweiligen Anwendungsszenario.
Das obige ist der detaillierte Inhalt vonPHP-Array schließt Duplikate aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!