Entfernt doppelte Werte aus einem Array

# array_unique

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_unique — Entfernt doppelte Werte aus einem Array

### Beschreibung

function array_unique(array `$array`, int `$flags` = `SORT_STRING`): array

Erwartet ein `array` und gibt ein neues Array zurück, aus dem alle doppelten Einträge entfernt wurden.

Es ist zu beachten, dass Schlüssel bewahrt bleiben. Werden mehrere Elemente gemäß den angegebenen `flags` als gleich interpretiert, dann werden Schlüssel und Wert des ersten gleichen Elements bewahrt.

> Hinweis: Zwei Elemente werden nur dann als gleich angesehen, wenn `(string) $elem1 === (string) $elem2`, d. h. wenn die String-Repräsentation die gleiche ist, wird das erste Element verwendet.

### Parameter-Liste

`array`

  Das Eingabe-Array.

`flags`

  Der optionale zweite Parameter `flags` kann mit den folgenden Werten genutzt werden, um das Vergleichsverhalten zu ändern:

  Flags für den Vergleichstyp:

  - `SORT_REGULAR` - vergleicht die Einträge normal (keine Typänderung)
  - `SORT_NUMERIC` - vergleicht die Einträge numerisch
  - `SORT_STRING` - vergleicht die Einträge als Strings
  - `SORT_LOCALE_STRING` - vergleicht die Einträge als Strings, basierend auf der aktuellen Locale.

### Rückgabewerte

Gibt das gefilterte Array zurück.

### Changelog

Version | Beschreibung
--- | ---
7.2.0 | Ist `flags` gleich `SORT_STRING`, wurde früher `array` kopiert und doppelte Elemente wurden entfernt (ohne das Array danach zu packen), aber nun wird ein neues Array durch Hinzufügen der einzigartigen Elemente aufgebaut. Dies kann unterschiedliche numerische Indexe ergeben.

### Beispiele

Beispiel #1 array_unique()-Beispiel

`<?php
$input = ["a" => "grün", "rot", "b" => "grün", "blau", "rot"];
$result = array_unique($input);
print_r($result);
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    Array
    (
        [a] => grün
        [0] => rot
        [1] => blau
    )

Beispiel #2 array_unique() und Typen

`<?php
$input = [4, "4", "3", 4, 3, "3"];
$result = array_unique($input);
var_dump($result);
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    array(2) {
      [0] => int(4)
      [2] => string(1) "3"
    }

### Anmerkungen

> Hinweis: Es ist zu beachten, dass array_unique() nicht für mehrdimensionale Arrays gedacht ist.

### Siehe auch

- array_count_values() - Zählt die Vorkommen jedes einzelnen Wertes in einem Array

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open