array_multisort

(PHP 4 )

array_multisort --  egyszerre több tömböt vagy egy többdimenziós tömböt rendez

Leírás

bool array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]])

Az array_multisort() arra használható, hogy egyszerre több tömböt vagy egy többdimenzós tömböt rendezzen sorba valamelyik dimenziója szerint. A kulcsokat megőrzi a rendezés során.

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:

Rendezési jelzők:

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.

Siker esetén TRUE értékkel tér vissza, ellenkező esetben FALSE értéket ad.

Példa 1. Több tömb alapján történő rendezés

$ar1 = array ("10", 100, 100, "a");
$ar2 = array (1, 3, "2", 1);
array_multisort ($ar1, $ar2);

A rendezés után a $ar1 és a $ar2: (A második tömb elemei az első tömb megegyező elemeinek megfelelően (100, 100) szintén rendezettek.)

Array // $ar1
(
    [0] => 10
    [1] => a
    [2] => 100
    [3] => 100
)
Array // $ar2
(
    [0] => 1
    [1] => 1
    [2] => 2
    [3] => 3
)

Példa 2. Többdimenziós tömbök rendezése

$ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));
array_multisort ($ar[0], SORT_ASC, SORT_STRING,
                 $ar[1], SORT_NUMERIC, SORT_DESC);

A rendezés után a $ar tömb: (Az első szövegként növekvő sorrendbe rendezve, a másodikban számként csökkenő sorrendbe rendezve.)

Array
(
    [0] => Array
        (
            [0] => 10
            [1] => 100
            [2] => 100
            [3] => a
        )

    [1] => Array
        (
            [0] => 1
            [1] => 3
            [2] => 2
            [3] => 1
        )

)