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
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
:
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
)
.