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:
and the preferred comparison type:
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.
範例 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().