dbx_compare
(PHP 4 >= 4.1.0, PHP 5 <= 5.0.4)
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() is a helper function for
dbx_sort() to ease the make and use of the custom
sorting function.
Parameters
row_a
First row
row_b
Second row
column_key
The compared column
flags
The flags
can be set to specify comparison
direction:
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.
Return Values
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.
Examples
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); ?>
|
|