Forum und email

dbx_compare

(PHP 4 >= 4.0.7, PHP 5 <= 5.0.5, PECL dbx:1.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:

  • DBX_CMP_ASC - növekvő sorrendet ír elő
  • DBX_CMP_DESC - csökkenő sorrendet ír elő
és az összehasonlítás típusát (milyen típusra konvertálja az értékeket):
  • DBX_CMP_NATIVE - típuskonverzió nélkül hasonlítja össze az elemeket
  • DBX_CMP_NUMBER - számként hasonlítja össze az elemeket
  • DBX_CMP_TEXT - szövegként hasonlítja össze az elemeket
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.

Example#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()!