(PHP 3>= 3.0.3, PHP 4 )
usort -- tömböt rendez elemértékei alapján egy felhasználó összehasonlító függvénnyelEz a függvény a cmp_function paraméterben megadott nevű felhasználói függvénnyel rendezi az array tömb elemeit. Ha a rendezendő tömböt nem szokványos feltétel alapján akarjuk rendezni, akkor használjuk ezt a függvényt.
Az összehasonlító függvénynek 0-nál kisebb vagy nagyobb ill. 0 értéket kell visszaadnia, ha az első elem kisebb vagy nagyobb a másodiknál, ill. ha egyenlők.
Megjegyzés: Ha két elem egyenlő, sorrendjük a rendezett tömbben nem definiált. A 4.0.6-os verzióig a felhasználói függvény ezen elemek eredeti sorrendjét meg tudta őrizni. A PHP 4.1.0-ban bevezetett új rendezőalgoritmus erre már nem nyújt lehetőséget, mivel nincs rá hatékony módszer.
Ez a példa a következőt írja ki:
0: 6 1: 5 2: 3 3: 2 4: 1 |
Megjegyzés: Ebben az egyszerű esetben nyilvánvalóan jobb választás az rsort() függvény használata.
Több dimenziós tömbökre alkalmazva $a és $b az első indexre mutató referenciákat fog tartalmazni.
Ez a példa a következőt írja ki:
$gyumolcsok[0]: alma $gyumolcsok[1]: citrom $gyumolcsok[2]: szőlő |
Megjegyzés: A függvény neve helyett egy tömböt is átadhatsz, ami egy objektum referenciát és egy metódus nevet kell tartalmazzon.
Példa 3. Objektum tagfüggvényének (metódus) használata az usort()-tal
|
Ez a példa a következőt írja ki:
b c d |
Figyelem |
Néhány C könyvtárban (mint például a Solaris rendszerekben) a gyorsrendezés alapjául szolgáló függvény a PHP összeomlását okozhatja, ha az összehasonlító függvény nem következetes értéket ad vissza. |
Lásd még: uasort(), uksort(), sort(), asort(), arsort(),ksort(), natsort() és rsort()!