dbx_compare
(PHP 4 >= 4.1.0, 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_CMP_ASC | DBX_CMP_NATIVE
] )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
flagskann angegeben werden, um die Vergleichsrichtung:-
DBX_CMP_ASC- aufsteigende Reihenfolge -
DBX_CMP_DESC- absteigende Reihenfolge
-
DBX_CMP_NATIVE- keine Typkonvertierung -
DBX_CMP_TEXT- vergleicht die Werte als Strings -
DBX_CMP_NUMBER- vergleicht die Werte numerisch
-
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