PHP Handbuch
Zurück |  | Nach vorne

# 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:

- `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 | Nach vorne
dbx_close | Nach oben | dbx_connect