dbx_compare

(PHP 4 >= 4.1.0)

dbx_compare -- összehasonlít két sort rendezés céljából

Leírás

int dbx_compare ( array row_a, array row_b, string column_key [, int flags])

0-val tér vissza, ha a row_a[$column_key] egyenlő a row_b[$column_key] kifejezéssel, és 1-gyel, ha az első nagyobb, illetve -1-gyel, ha ez kisebb. Ha flags értéke DBX_CMP_DESC, akkor pont fordított értékek adódnak eltérő bemenetek esetén. dbx_compare() kisegítő függvény a dbx_sort() használatához, hogy könnyebben lehessen írni és használni saját definiálású összehasonlító függvényeket.

A flags használható arra, hogy beállítsuk az a rendezés irányát:

és az összehasonlítás típusát (milyen típusra konvertálja az értékeket):

Egy - egy irányra és típusra vonatkozó állandót a logikai VAGY kapcsolattal lehet kombinálni (|). A flags paraméter alapértelmezése a DBX_CMP_ASC | DBX_CMP_NATIVE.

Példa 1. dbx_compare() példa

<?php
function user_re_order ($a, $b) {
    $rv = dbx_compare ($a, $b, 'pid', DBX_CMP_DESC);
    // ha 'pid' szerint nem rendezhetőek sorba, akkor 'id' szerint
    if (!$rv) { 
        $rv = dbx_compare ($a, $b, 'id', DBX_CMP_NUMBER);
    }
    return $rv;
}

$link   = dbx_connect(DBX_ODBC, "", "db", "username", "password")
    or die ("Nem sikerült csatlakozni.");

$result = dbx_query($link, "SELECT id, pid, leiras FROM tabla ORDER BY id");
    // az eredmény most 'id' szerint van rendezve

dbx_sort ($result, "user_re_order");
    // az eredmény most csökkenő 'pid' szerint és azon túl 'id' szerint van rendezve
dbx_close ($link);
?>

Lásd még dbx_sort()!