Siker esetén TRUE értékkel tér vissza, ellenkező esetben FALSE értéket ad.
Az array_multisort() arra használható, hogy egyszerre több tömböt vagy egy többdimenzós tömböt rendezzen sorba egy vagy dimenziója szerint.
Az asszociatív (string) kulcsokat megőrzi a rendezés során, a numerikus indexeket újraindexeli.
A megadott tömböket egy képzeletbeli, sorok alapján rendezendő táblázat oszlopainak tekinthetők. Ez hasonlít az SQL ORDER BY cikkelyének feladatára. Ez első tömb, ami alapján először rendez. Az ebben a tömbben levő ugyanolyan sorok (elemek) a soron következő tömb szerint lesznek tovább rendezve, és így tovább végig a tömbökön.
Ennek a függvénynek a argumentumlistája kicsit szokatlan, de nagyon rugalmas. A legelső paraméternek mindig tömbnek kell lennie, ezután minden paraméter lehet egy tömb vagy egy a következő rendezést szabályzó jelzőértékek közül.
Sorrendi jelzők:
SORT_ASC - növekvő sorrendbe rendez
SORT_DESC - csökkenő sorrendbe rendez
Rendezési jelzők:
SORT_REGULAR - megszokott módon hasonlítja össze az elemeket
SORT_NUMERIC - számként hasonlítja össze az elemeket
SORT_STRING - szövegként hasonlítja össze az elemeket
Nem lehet két ugyanolyan típusú jelzőt egymás után megadni. Ezek a jelzők csak a közvetlenül előttük álló tömb szerinti rendezést befolyásolják, minden tömb paraméternél az alapértelmezés lép életbe: SORT_ASC és SORT_REGULAR.
Példa 2. Többdimenziós tömbök rendezése
Ebben a példában a rendezés után az első tömb "10", 100, 100, 11, "a" (stringekként lett növekvő sorrendbe rendezve). A második tartalma 1, 3, "2", 2, 1 (számokként rendezve csökkenő sorrendbe).
|
Példa 3. Adatbázis eredményhalmazok rendezése Ebben a példában minden data tömbbeli elem egy táblabeli sornak felel meg. Példa adat:
Az adat egy tömb, melynek neve data. Ez például a mysql_fetch_assoc() függvény ciklusban való hívásával kapható meg.
Ebben a példában volume szerint csökkenőleg, edition szerint növekvőleg rendezünk. Van egy tömbünk a sorokról, de a array_multisort() oszlopokból álló tömböt vár, ezért a következő kódot használjuk, hogy megkapjuk az oszlopokat, majd elvégezzük a rendezést.
Az adathalmaz a rendezés után így néz ki:
|
Példa 4. Kis- és nagybetűk egyenlőek Mind a SORT_STRING mind a SORT_REGULAR esetén különbséget tesz a kis- és nagybetűk között, a nagybetűvel kezdődő stringek kisebbek mint a kisbetűvel kezdődőek. Ha azt akarod, hogy a rendezés ne tegyen különbséget a kis- és nagybetűk között, a rendezést a kisbetűssé alakított tömb szerint végezd.
A fenti példa a következő kimenetet adja:
|