dbx_compare

(PHP 4 >= 4.1.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)
Compare two rows for sorting purposes
int dbx_compare ( array $row_a, array $row_b, string $column_key [, int $flags = DBX_CMP_ASC | DBX_CMP_NATIVE ] )

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:

  • DBX_CMP_ASC - ascending order
  • DBX_CMP_DESC - descending order
  • DBX_CMP_NATIVE - no type conversion
  • DBX_CMP_TEXT - compare items as strings
  • DBX_CMP_NUMBER - compare items numerically
Returns:

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:
dbx_compare() example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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() -

doc_php
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.