PHP Portal » PHP Handbuch » array_unique

Werbung

array_unique


(PHP 4 >= 4.0.1, PHP 5)

array_uniqueEntfernt doppelte Werte aus einem Array

Beschreibung

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

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

Beachten Sie, dass Schlüssel bewahrt bleiben. Erst behandelt array_unique() die Werte als Strings und sortiert sie, danach wird der erste gefundene Schlüssel behalten, und alle folgenden Schlüssel ignoriert. Das heißt nicht, dass der Schlüssel des ersten zugehörigen Wertes aus dem unsortierten array behalten wird.

Hinweis: Zwei Elemente werden nur dann als gleich angesehen, wenn (string) $elem1 === (string) $elem2. In Worten: Wenn die String-Repräsentation die gleiche ist. Das erste Element wird verwendet.

Parameter-Liste

array

Das Eingabe-Array.

sort_flags

Der optionale zweite Parameter sort_flags kann mit den folgenden Werten genutzt werden, um das Sortierverhalten zu ändern:

Sorting type flags:

  • 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. Wurde in PHP 4.4.0 und 5.0.2 hinzugefügt. Vor PHP 6 benutzt es die System-Locale, die mittels setlocale() geändert werden kann. Seit PHP 6 müssen Sie die i18n_loc_set_default()-Funktion benutzen.

Rückgabewerte

Gibt das gefilterte Array zurück.

Changelog

Version Beschreibung
5.2.9 Der optionale Parameter sort_flags wurde mit dem Standardwert SORT_REGULA hinzugefügt. Vor 5.2.9 wurde die Sortierung intern mit SORT_STRING durchgeführt.
5.2.10 Der Standardwert von sort_flags wurde auf SORT_STRING zurückgesetzt.

Beispiele

PHP Code
1
2
3
$input = array("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
)

PHP Code
1
2
3
$input = array(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: Beachten Sie, dass array_unique() nicht dazu gedacht ist, auf mehrdimensionalen Arrays zu arbeiten.