array_multisort

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 przypisania kluczy .

Tablice wejściowe 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 takie sane sortowane 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 :



Flagi typu sortowania :



Nie można podać żadnych dwóch flag tego samego typu dla jednej tablicy . Flagi sortowania podane pod argumencie-tablicy dotyczą tylko tej tablicy - 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 ) .