array_unique

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

array_uniqueEntfernt doppelte Werte aus einem Array

Beschreibung

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

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. Werden mehrere Elemente gemäß den angegebenen sort_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.

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.

Rückgabewerte

Gibt das gefilterte Array zurück.

Changelog

Version Beschreibung
7.2.0 Ist sort_flags gleich SORT_STRING, wurde früher array kopiert, und doppelte Elemente darin 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.
5.2.10 Der Standardwert von sort_flags wurde auf SORT_STRING zurückgesetzt.
5.2.9 Der optionale Parameter sort_flags wurde mit dem Standardwert SORT_REGULAR hinzugefügt. Vor 5.2.9 wurde die Sortierung intern mit SORT_STRING durchgeführt.

Beispiele

Beispiel #1 array_unique()-Beispiel

<?php
$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
)

Beispiel #2 array_unique() und Typen

<?php
$input 
= array(4"4""3"43"3");
$result array_unique($input);
var_dump($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Siehe auch

Anmerkungen

Hinweis: Beachten Sie, dass array_unique() nicht dazu gedacht ist, auf mehrdimensionalen Arrays zu arbeiten.