dbx_compare
(PHP 4 >= 4.0.7, PHP 5 <= 5.0.5, PECL dbx:1.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:
- DBX_CMP_ASC - aufsteigende Reihenfolge
- DBX_CMP_DESC - absteigende Reihenfolge
- DBX_CMP_NATIVE - keine Typenkonvertierung
- DBX_CMP_TEXT - vergleicht die Werte als Strings
- DBX_CMP_NUMBER - vergleicht die Werte numerisch
Example#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().