PHP Portal » PHP Handbuch » dbx_compare

Werbung

dbx_compare


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

dbx_compareVergleicht 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 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

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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