Heim  >  Artikel  >  Backend-Entwicklung  >  Kann PHP doppelte Werte aus einem Array entfernen?

Kann PHP doppelte Werte aus einem Array entfernen?

PHPz
PHPzOriginal
2023-04-27 15:54:30403Durchsuche

Beim Schreiben von PHP-Programmen müssen wir häufig Deduplizierungsvorgänge für Arrays durchführen. Der Zweck der Deduplizierung besteht darin, Störungen durch doppelte Daten zu vermeiden und die Programmleistung effektiv zu verbessern. Für PHP ist das Entfernen doppelter Werte aus einem Array ein sehr grundlegender Vorgang. In diesem Artikel wird erläutert, wie Sie diese Funktion mit PHP erreichen.

1. Verwenden Sie die Funktion array_unique()

PHP stellt eine Funktion namens array_unique() zur Verfügung, die doppelte Werte im Array entfernen und ein neues Array zurückgeben kann. Das Folgende ist die grundlegende Syntax der Funktion array_unique():

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

Parameterbeschreibung:

  • $array: erforderlicher Parameter, Array zum Entfernen doppelter Werte.
  • $sort_flags: Optionaler Parameter, der zur Angabe der Sortiermethode des Arrays verwendet wird. Der Standardwert ist SORT_STRING, der nach Zeichenfolgentyp sortiert.

Das Folgende ist ein Beispiel:

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

Das Ausgabeergebnis ist:

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

2. Setzen Sie das Array mithilfe von Schlüsselwerten zurück. 🎜🎜 #

Zusätzlich zur Verwendung der Funktion array_unique() können wir auch Duplikate durch Schlüsselwerte entfernen und das Array auf ein neues Array zurücksetzen. Das Folgende ist ein Beispiel:

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_flip(array_flip($arr));
print_r($new_arr);
Das Ausgabeergebnis ist:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
3. Verwenden Sie die Schleifendurchquerung

Zusätzlich zu den beiden oben genannten Methoden, Wir können auch die Deduplizierung durch Schleifendurchquerung durchführen. Die Grundidee dieser Methode besteht darin, zuerst ein leeres Array zu erstellen und dann jedes Element im ursprünglichen Array zu durchlaufen. Wenn sich das Element nicht im neuen Array befindet, fügen Sie es dem neuen Array hinzu. Das Folgende ist ein Beispielcode:

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array();
foreach ($arr as $value) {
    if (!in_array($value, $new_arr)) {
        $new_arr[] = $value;
    }
}
print_r($new_arr);
Das Ausgabeergebnis ist:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
4. Verwenden Sie die Funktion array_reduce()

array_reduce() wird verwendet, um Array-Elemente iterativ auf Einzelwerte zu reduzieren. Mit dieser Funktion können wir doppelte Elemente einfach aus dem Array entfernen. Das Folgende ist ein Beispielcode:

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_reduce($arr, function($carry, $item){
    if(!in_array($item, $carry)){
        $carry[] = $item;
    }
    return $carry;
}, []);
print_r($new_arr);
Das Ausgabeergebnis ist:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
5. Verwenden Sie die Funktion array_diff()

array_diff() wird verwendet, um Array-Differenzsätze zu vergleichen. Mit dieser Funktion können wir doppelte Elemente schnell aus einem Array entfernen. Das Folgende ist ein Beispielcode:

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_diff($arr, array_unique($arr));
print_r($new_arr);
Das Ausgabeergebnis ist:

Array
(
    [1] => 2
    [4] => 4
)
6. Verwenden Sie die Funktion array_filter()

funktion array_filter() ist Wird zum Filtern von Array-Elementen in verwendet. Mit dieser Funktion können wir doppelte Elemente schnell aus einem Array entfernen. Das Folgende ist der Beispielcode:

$arr = array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_filter($arr, function($value, $key){
    return !in_array($value, array_slice($arr, 0, $key, true));
}, ARRAY_FILTER_USE_BOTH);
print_r($new_arr);
Das Ausgabeergebnis ist:

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

In diesem Artikel werden verschiedene Methoden zum Entfernen doppelter Werte vorgestellt ​​aus Arrays in PHP können wir mit diesen Methoden PHP-Programme effizienter schreiben. Unabhängig davon, ob Sie die Funktion array_unique() verwenden oder das Array mithilfe von Schlüsselwerten zurücksetzen oder eine Schleife mit der Funktion array_reduce(), array_diff() oder array_filter() durchführen, solange Sie die Grundprinzipien und Anwendungsmethoden beherrschen, Sie können den Array-Deduplizierungsvorgang problemlos vollständig implementieren.

Das obige ist der detaillierte Inhalt vonKann PHP doppelte Werte aus einem Array 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