Funkcja asort() w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Opublikowano: Zaktualizowano:

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 od 0,
  • 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.