dbx_compare
(PHP 4 >= 4.1.0)
dbx_compare -- Vergleicht zwei Reihen für Sortierzwecke
Beschreibung
int
dbx_compare ( array row_a, array row_b, string column_key [, int flags])
dbx_compare() 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).
dbx_compare() ist eine Hilfsfunktion für
dbx_sort(), um das Erstellen bzw. Verwenden
der Benutzerfunktion zu vereinfachen.
Der Parameter flags spezifiziert die
Vergleichsrichtung:
und den bevorzugten Vergleichstyp:
DBX_CMP_NATIVE - keine Typenkonvertierung
DBX_CMP_TEXT - vergleicht die Werte als Strings
DBX_CMP_NUMBER - vergleicht die Werte numerisch
Eine der Vergleichs-, und eine der Typkonstanten können mit dem
Bit-Operator OR (|) kombiniert werden. Die Standardwerte für
flags sind
DBX_CMP_ASC
|
DBX_CMP_NATIVE.
Beispiel 1. dbx_compare() <?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 gereiht
dbx_sort ($result, "user_re_order");
// die Daten in $result sind nun nach parentid (absteigend) gereiht,
// und dann nach id
dbx_close ($link);
?> |
|
Siehe auch dbx_sort().