Heim  >  Artikel  >  Backend-Entwicklung  >  Lassen Sie uns über gängige Methoden zum Entfernen von Duplikaten aus PHP-Arrays sprechen

Lassen Sie uns über gängige Methoden zum Entfernen von Duplikaten aus PHP-Arrays sprechen

PHPz
PHPzOriginal
2023-04-19 11:39:01516Durchsuche

In PHP ist die Array-Deduplizierung ein häufiger Vorgang. Da das Array möglicherweise doppelte Elemente enthält, können wir mit der Deduplizierungsoperation eindeutig alle verschiedenen Elemente im Array erhalten. Im Folgenden werde ich einige häufig verwendete Array-Deduplizierungsmethoden vorstellen.

1. Verwenden Sie die Funktion array_unique.

Die Funktion array_unique ist eine einstufige Deduplizierungsfunktion, die mit PHP geliefert wird. Seine Funktion besteht darin, doppelte Werte aus dem Array zu entfernen und ein neues Array zurückzugeben.

Beispielcode:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_unique($array);
print_r($new_array);

Ausgabeergebnis:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

2. Schleifendurchquerung verwenden

Zusätzlich zur Funktion array_unique können wir auch die Schleifendurchquerungsmethode verwenden, um eine Array-Deduplizierung zu erreichen. Die spezifische Implementierungsmethode besteht darin, zunächst ein leeres Array zu erstellen und dann die Elemente im ursprünglichen Array zu durchlaufen, um festzustellen, ob sie bereits im neuen Array vorhanden sind. Wenn nicht, fügen Sie das Element dem neuen Array hinzu. Geben Sie abschließend dieses neue Array zurück.

Beispielcode:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array();
foreach($array as $value){
    if(!in_array($value, $new_array)){
        $new_array[] = $value;
    }
}
print_r($new_array);

Ausgabeergebnis:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

3. Verwenden Sie die Funktionen array_flip und array_keys.

Eine andere Methode ist die Verwendung der Funktionen array_flip und array_keys. Die Funktion array_flip kann die Schlüssel und Werte im Array umdrehen, während die Funktion array_keys eine Liste aller Schlüssel im Array zurückgeben kann. Daher können wir zuerst die Funktion array_flip verwenden, um die Werte als Schlüssel zu verwenden, und dann die Funktion array_keys verwenden, um diese Schlüssel zu erhalten. Das Endergebnis ist das deduplizierte Array.

Beispielcode:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_keys(array_flip($array));
print_r($new_array);

Ausgabeergebnis:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

4. Verwenden Sie die Funktion array_filter.

Die letzte Methode besteht darin, die Funktion array_filter zu verwenden. Die Funktion array_filter kann die angegebene Rückruffunktion verwenden, um jedes Element im Array zu filtern, und gibt schließlich das gefilterte Array zurück. Die spezifische Implementierungsmethode besteht darin, zunächst eine anonyme Funktion als Rückruffunktion zu definieren und diese Funktion dann beim Filtern als Parameter an die Funktion array_filter zu übergeben.

Beispielcode:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_filter($array, function($value, $key){
    static $unique = array();
    if(!in_array($value, $unique)){
        $unique[] = $value;
        return true;
    }
    return false;
}, ARRAY_FILTER_USE_BOTH);
print_r($new_array);

Ausgabeergebnis:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

Die oben genannten sind vier häufig verwendete PHP-Array-Deduplizierungsmethoden. Abhängig von der spezifischen Situation können wir flexibel verschiedene Methoden zur Array-Deduplizierung wählen, um bessere Ergebnisse zu erzielen.

Das obige ist der detaillierte Inhalt vonLassen Sie uns über gängige Methoden zum Entfernen von Duplikaten aus PHP-Arrays sprechen. 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