array_multisort
Sortuje wiele tablic lub wielowymiarowe tablice
Opis
boolarray_multisort
arraytbl1
mixedarg
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.
&return.success;
Sortowanie wielu tablic
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.
Sortowanie wielowymiarowych tablic
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).