PHP Handbuch
Zurück |  | Weiter

# dbx_compare

(PHP 4 >= 4.1.0, PHP 5)

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

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().

Zurück | Zum Anfang | Weiter
dbx_close | Nach oben | dbx_connect