Funkcja PHP usort()

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

Funkcja usort() przypisuje sortowanym elementom tablicy nowe klucze, a więc usuwa pierwotne, jeśli istniały.

Składnia funkcji PHP usort()

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

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

Parametry

ParametrOpis
arrayParametr obowiązkowy. Tablica do posortowania.
callbackParametr obowiązkowy. Funkcja wywołania zwrotnego, która ma użyta do porównywania elementów sortowanej tablicy. Należy przekazać jej nazwę jako łańcuch i 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 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 usort() 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;
}
usort($values, "cmp");

Podobał Ci się ten artykuł?

Oceń go!

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

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ć!

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.

Subskrybuj
Powiadom o
guest

0 Komentarze
Najstarsze
Najnowsze Najwięcej głosów
Opinie w linii
Zobacz wszystkie komentarze
0
Chętnie poznam Twoje przemyślenia, skomentuj.x