Podręcznik PHP
Poprzedni |  | Następny

# array_multisort

(PHP 4, PHP 5)

array_multisort -- Sortuje wiele tablic lub wielowymiarowe tablice

## Opis

bool array_multisort ( array tbl1 [, mixed arg [, mixed ... [, array ...]]] )

array_multisort() może być użyta do sortowania kilku tablic na raz lub wielowymiarowej tablicy na podstawie jednego z większej liczby wymiarów. Zachowywane są przypisania kluczy.

Tablice wejściowe są traktowane jak kolumy tablicy, które mają być posortowane wierszami - odpowiada to funkcjonalności warunku SQL ORDER BY. Pierwsza tablica jest tablicą priorytetową do sortowania. Wiersze (wartości) w tej tablicą które są takie sane sortowane są według następnej tablicy wejściowej i tak dalej.

Struktura argumentów tej funkcji nie jest zwyczajna, ale jest ona elastyczna. Pierwszy argument musi być tablicą. Każdy następny argument musi być tablicą lub flagą oznaczającą porządek sortowania - jeden z poniższych.

Flagi porządku sortowania:

- SORT_ASC - sortuj w porządku rosnącym

- SORT_DESC - sortuj w porządku malejącym

Flagi typu sortowania:

- SORT_REGULAR - porównuj elementy normalnie

- SORT_NUMERIC - porównuj elementy numerycznie

- SORT_STRING - porówuj elementy jak stringi

Nie można podać żadnych dwóch flag tego samego typu dla jednej tablicy. Flagi sortowania podane pod argumencie-tablicy dotyczą tylko tej tablicy - są one zerowane do domyślnych wartośći SORT_ASC i SORT_REGULAR po każdym argumencie tablicowym.

Zwraca `TRUE` w przypadku sukcesu, `FALSE` w przypadku porażki.

Przykład 1. Sortowanie wielu tablic
`$tbl1 = array ("10", 100, 100, "a"); $tbl2 = array (1, 3, "2", 1); array_multisort ($tbl1, $tbl2);`

W tym przypadku, po sortowaniu, pierwsza tablica będzie zawierać 10, "a", 100, 100, a druga 1, 1, "2", 3. Elementy drugiej tablicy odpowiadające identycznym elementom pierwszej tablicy (100 i 100) także zostały posortowane.

Przykład 2. Sortowanie wielowymiarowych tablic
`$tbl = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1)); array_multisort ($tbl[0], SORT_ASC, SORT_STRING, $tbl[1], SORT_NUMERIC, SORT_DESC);`

W tym przykładzie, po sortowaniu, pierwsza tablica zawiera 10, 100, 100, "a" (została posortowana według wartości tekstowych w porządku rosnącym), a druga 1, 3, "2", 1 (sortowana jak liczby w porządku malejącym).

Poprzedni | Spis treści | Następny
array_merge | Początek rozdziału | array_pad