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:
Prototyp funkcji wywołania zwrotnego: |
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");
