Podręcznik PHP
Poprzedni
Następny
array_multisort
Opis
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 tabeli, 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
Początek rozdziału