dbx_compare

(PHP 4 >= 4.1.0, PHP 5 < 5.1.0, PECL dbx >= 1.1.0)

dbx_compareVergleicht zwei Reihen für Sortierzwecke

Beschreibung

dbx_compare ( array $row_a , array $row_b , string $column_key [, int $flags = DBX_CMP_ASC | DBX_CMP_NATIVE ] ) : int

dbx_compare() ist eine Hilfsfunktion für dbx_sort(), um das Erstellen bzw. Verwenden benutzerdefinierter Sortierfunktionen zu vereinfachen.

Parameter-Liste

row_a

Erste Reihe

row_b

Zweite Reihe

column_key

Die verglichene Spalte

flags

Der Parameter flags kann angegeben werden, um die Vergleichsrichtung:

  • DBX_CMP_ASC - aufsteigende Reihenfolge
  • DBX_CMP_DESC - absteigende Reihenfolge
und den bevorzugten Vergleichstyp zu spezifizieren:
  • DBX_CMP_NATIVE - keine Typkonvertierung
  • DBX_CMP_TEXT - vergleicht die Werte als Strings
  • DBX_CMP_NUMBER - vergleicht die Werte numerisch
Eine der Vergleichs- und eine der Typkonstanten kann mit dem Bit-Operator OR (|) kombiniert werden.

Rückgabewerte

Gibt 0 zurück, wenn row_a[$column_key] gleich row_b[$column_key] ist. Ist der erste Wert größer oder kleiner als der zweite, wird 1 bzw. -1 zurückgegeben (oder umgekehrt, wenn der Parameter flag auf DBX_CMP_DESC gesetzt ist).

Beispiele

Beispiel #1 dbx_compare()-Beispiel

<?php
function user_re_order($a$b)
{
    
$rv dbx_compare($a$b"parentid"DBX_CMP_DESC);
    if (!
$rv) {
        
$rv dbx_compare($a$b"id"DBX_CMP_NUMBER);
    }
    return 
$rv;
}

$link   dbx_connect(DBX_ODBC"""db""username""password")
    or die(
"Fehler beim Verbinden");

$result dbx_query($link"SELECT id, parentid, description FROM table ORDER BY id");
    
// Die Daten in $result sind nun nach id sortiert

dbx_sort($result"user_re_order");
    
// Die Daten in $result sind nun nach parentid (absteigend) sortiert,
    // dann nach id

dbx_close($link);
?>

Siehe auch

  • dbx_sort() - Sortiert das Ergebnis eines dbx_query mittels einer benutzerdefinierten Sortierfunktion