array_multisort
Opis
bool array_multisort ( array tbl1 [, mixed arg [, mixed ... [, array ...]]] )Zwraca TRUE w przypadku sukcesu, FALSE w przypadku porażki.
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.
Klucze asocjacyjne sÄ… zachowywane, a indeksy numeryczne sÄ… przenumerowywane.
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 po 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 2. Sortowanie wielowymiarowych tablic
W tym przykładzie, po posortowaniu, pierwsza tablica przekształci się do postaci "10", 100, 100, 11, "a" (została posortowana jako ciągi znakowe w porządku rosnącym). Druga tablica będzie zawierała elementy 1, 3, "2", 2, 1 (sortowanie liczbowe w porządku malejącym).
|
Przykład 3. Sortowanie wyników zapytań do baz danych
Dla tego przykładu, każdy element tablicy Przykładowe dane:
Dane zawarte sÄ… w tablicy o nazwie
W tym przykładzie, dane zostaną posortowane według pola
W zmiennej znajduje się tablica wierszy, lecz array_multisort() wymaga tablicy kolumn, tak więc należy zastosować poniższy kod aby uzyskać kolumny, a następnie przeprowadzić sortowanie.
Zbiór danych jest teraz posortowany. Wygląda on tak:
|
Przykład 4. Sortowanie z ignorowaniem wielkości znaków Obie opcje, SORT_STRING i SORT_REGULAR, powodują sortowanie z rozróżnianiem wielkości znaków. Ciągi zaczynające się od dużej litery staną się ciągami zaczynającymi się od litery małej. Aby przeprowadzić sortowanie ignorujące wielkość znaków, należy wymusić, aby porządek sortowania był określany przez kopię oryginalnej tablicy, w której wszystkie znaki zostaną zmienione na małe.
Powyższy przykład wyświetli:
|