(PHP 4 >= 4.0.1, PHP 5)
array_unique — Usuwa duplikaty wartości z tablicy
$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.
tablica
Tablica wejściowa.
opcje_sortowania
Drugi, opcjonalny parametr opcje_sortowania
moż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.
Zwraca posortowaną tablicę.
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ł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" }
Informacja: Zauważ, że funkcja array_unique() nie jest przeznaczona do pracy na wielowymiarowych tablicach.