asort() służy do sortowania tablicy w PHP rosnąco według wartości, przy jednoczesnym zachowaniu oryginalnych kluczy. Jest szczególnie ważna przy tablicach asocjacyjnych oraz tablicach z ręcznie nadanymi indeksami liczbowymi.
Składnia
asort(array &$array, int $flags = SORT_REGULAR): bool
Funkcja modyfikuje tablicę przekazaną jako argument i zwraca true w przypadku powodzenia.
Najważniejsza cecha
asort() sortuje elementy według wartości, ale nie zmienia przypisanych im kluczy.
Przykład:
$tablica = array(10 => "Perl", 14 => "PHP", 20 => "Python", 22 => "Pike");
asort($tablica);
print_r($tablica);
Wartości zostaną uporządkowane alfabetycznie:
Array
(
[14] => PHP
[10] => Perl
[22] => Pike
[20] => Python
)
Klucze 14, 10, 22, 20 pozostają przypisane do swoich pierwotnych wartości.
Różnica między asort(), sort() i ksort()
asort()- sortuje według wartości i zachowuje klucze,sort()- sortuje według wartości, ale nadaje nowe indeksy od0,ksort()- sortuje według kluczy.
Typowe zastosowanie
asort() stosuje się wtedy, gdy klucz ma znaczenie, np. jest identyfikatorem rekordu, numerem produktu albo kodem użytkownika, a sortowanie ma dotyczyć wyświetlanych wartości.