array_unique
(PHP 4 >= 4.0.1, PHP 5)
array_unique — Usuwa duplikaty wartości z tablicy
Opis
$tablica
[, int $opcje_sortowania = SORT_STRING
] )
Pobiera parametr tablica i zwraca nową tablicę
bez duplikatów wartości.
Zauważ, że klucze są zachowywane. array_unique()
najpierw sortuje wartości skonwertowane na ciągi a później zachowuje
pierwszy napotkany klucz dla każdej wartości ignorując wszystkie
pozostałe klucze. Nie oznacza to, że klucz pierwszej związanej wartości z
nieposortowanej tablicy będzie zachowany.
Informacja: Dwa elementy tablicy są uważane za równe wtedy i tylko wtedy jeśli (string) $elem1 === (string) $elem2, czyli jeśli reprezentacje wartości w postaci stringów są takie same. Używany będzie pierwszy element.
Parametry
-
tablica -
Tablica wejściowa.
-
opcje_sortowania -
Drugi, opcjonalny parametr
opcje_sortowaniamoże być użyty do zmiany zachowania podczas sortowania za pomocą następujących wartości:Opcje sortowania:
-
SORT_REGULAR- porównuje pozycje normalnie (nie zmienia typów) -
SORT_NUMERIC- porównuje pozycje numerycznie -
SORT_STRING- porównuje pozycje jako łańcuchy znaków -
SORT_LOCALE_STRING- porównuje pozycje jako łańcuchy znaków, w uwzględniając bieżące kodowanie znaków.
-
Zwracane wartości
Zwraca posortowaną tablicę.
Rejestr zmian
| Wersja | Opis |
|---|---|
| 5.2.10 |
Zmiana domyślnej wartości opcje_sortowania ponowanie na
SORT_STRING.
|
| 5.2.9 |
Dodano nową domyślną opcje_sortowania
SORT_REGULAR. Przed PHP 5.2.9, ta funkcja była używana
wewnętrznie do sortowania tablic z opcją SORT_STRING.
|
Przykłady
Przykład #1 Przykład użycia array_unique()
<?php
$wejscie = array ("a" => "zielony", "czerwony", "b" => "zielony", "niebieski", "czerwony");
$wynik = array_unique ($wejscie);
print_r($wynik);
?>
Powyższy przykład wyświetli:
Array
(
[a] => zielony
[0] => czerwony
[1] => niebieski
)
Przykład #2 array_unique() i typy
<?php
$wejscie = array(4, "4", "3", 4, 3, "3");
$wynik = array_unique($wejscie);
var_dump($wynik);
?>
Powyższy przykład wyświetli:
array(2) {
[0] => int(4)
[2] => string(1) "3"
}
Notatki
Informacja: Zauważ, że funkcja array_unique() nie jest przeznaczona do pracy na wielowymiarowych tablicach.
