Funkcja PHP uasort() - sortowanie tablic funkcją zwrotną

Funkcja PHP uasort()

Funkcja PHP uasort() sortuje tablicę według wartości, wykorzystując funkcję porównywania zdefiniowaną przez użytkownika i przekazaną jej jako funkcja wywołania zwrotnego PHP.

Funkcja uasort() zachowuje oryginalne indeksy elementów (porównaj z funkcją PHP usort()).

Jeśli funkcja uasort() napotka dwa takie same elementy, to pozostawia ich względne ułożenie bez zmian.

Funkcja ta przyjmuje tablicę przez referencję, a więc sortuje oryginalną strukturę danych, a nie jej kopię.

Składnia funkcji PHP uasort()

Funkcja PHP uasort() ma następującą składnię:

usort(array &$array, callable $callback): true

Parametry

Parametr Opis
array Parametr obowiązkowy. Tablica do posortowania.
callback Parametr obowiązkowy. Funkcja wywołania zwrotnego, która ma zostać użyta do porównywania elementów sortowanej tablicy. Powinna ona zwracać następujące wartości:
  • Liczba całkowita mniejsza od zera, jeśli pierwszy argument jest mniejszy od drugiego
  • 0, jeśli argumenty są równe — w takim przypadku funkcja nie zmienia ich pierwotnej kolejności
  • Liczba całkowita większa od zera, jeśli pierwszy argument jest większy od drugiego

Prototyp funkcji wywołania zwrotnego:

callback(mixed $a, mixed $b): int

Wartość zwrotna

Funkcja PHP uasort() zawsze zwraca wartość logiczną true.

Typ zwrotny: bool.

Dodatkowe przykłady

Przykład przedstawiony na początku strony wykorzystuje operator PHP statek kosmiczny i funkcję strzałkową, dzięki czemu jest bardzo zwięzły. Poniżej znajduje się ta sama funkcja, tylko z funkcją zwrotną zaimplementowaną w mniej zwięzły sposób.


function cmp($val1, $val2)
{  
  if ($val1 < $val2) return -1;
  if ($val1 == $val2) return 0;
  if ($val1 > $val2) return 1;
}
uasort($values, "cmp");
Udostępnij:
Share

Podobał Ci się ten artykuł?

Oceń go!

Średnia 5 / 5. Liczba głosów: 1

Jeszcze nikt nie głosował. Wyprzedź innych i zagłosuj.

Skoro spodobał Ci się ten artykuł...

Poleć go znajomym!

Ojej :( Powiedz nam, co powinniśmy poprawić!

blank
Podoba Ci się ta strona?

Pomóż nam się rozwijać, wykupując płatne konto. Dzięki temu będziemy mogli tworzyć dla Ciebie jeszcze więcej ciekawych treści, a Ty pozbędziesz się reklam.

Dodaj komentarz