PHP Manual
Prev |  | Next

# dbx_compare

(PHP 4 >= 4.1.0)

dbx_compare -- Compare two rows for sorting purposes

## Description

int dbx_compare ( array row_a, array row_b, string column_key [, int flags])

dbx_compare() returns `0` if the `row_a[$column_key]` is equal to `row_b[$column_key]`, and `1` or `-1` if the former is greater or is smaller than the latter one, respectively, or vice versa if the `flag` is set to `DBX_CMP_DESC`. dbx_compare() is a helper function for dbx_sort() to ease the make and use of the custom sorting function.

The `flags` can be set to specify comparison direction:

- `DBX_CMP_ASC` - ascending order

- `DBX_CMP_DESC` - descending order

and the preferred comparison type:

- `DBX_CMP_NATIVE` - no type conversion

- `DBX_CMP_TEXT` - compare items as strings

- `DBX_CMP_NUMBER` - compare items numerically

One of the direction and one of the type constant can be combined with bitwise OR operator (|). The default value for the `flags` parameter is `DBX_CMP_ASC` | `DBX_CMP_NATIVE`.

Example 1. dbx_compare() example

    <?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 ("Could not connect");

    $result = dbx_query ($link, "SELECT id, parentid, description FROM table ORDER BY id");
        // data in $result is now ordered by id

    dbx_sort ($result, "user_re_order");
        // date in $result is now ordered by parentid (descending), then by id

    dbx_close ($link);
    ?>

See also dbx_sort().

Prev | Home | Next
dbx_close | Up | dbx_connect