(PHP 4 >= 4.1.0)
dbx_compare -- Compare two rows for sorting purposes
Description
int dbx_compare (array row_a, array row_b, string columnname_or_index
[, int flags])
| Warning |
|
This function is EXPERIMENTAL. The behaviour of this function, the name of this
function, and anything else documented about this function may change in a future release of PHP
without notice. Be warned and use this function at your own risk.
|
Returns 0 if row_a[$columnname_or_index] is equal to row_b[$columnname_or_index], 1 if it
is greater and -1 if it is smaller (or vice versa if the DBX_CMP_DESC flag is set).
The flags can be set to specify comparison direction (whether sorting is
ascending or descending) and comparison type (force string or numeric compare by converting the
data). The constants for direction are DBX_CMP_ASC and DBX_CMP_DESC. The constants for comparison
type are DBX_CMP_NATIVE (no conversion), DBX_CMP_TEXT and DBX_CMP_NUMBER. These constants can be
OR-ed together. 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");
return $rv;
}
}
$link = dbx_connect ("odbc", "", "db", "username", "password")
or die ("Could not connect");
$result = dbx_query ($link, "SELECT id, parentid, description FROM tbl ORDER BY id");
echo "resulting data is now ordered by id<br>";
dbx_sort ($result, "user_re_order");
echo "resulting data is now ordered by parentid (descending), then by id<br>";
dbx_close ($link);
?>
|
|
See also dbx_sort().
|