array_unique
(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
array_unique — Entfernt doppelte Werte aus einem Array
Beschreibung
$array
, int $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 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 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 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.
|
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", 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.