Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : dbx Functions : dbx_compare

dbx_compare

Compare two rows for sorting purposes (PHP 4 >= 4.0.7, PHP 5 <= 5.0.5, PECL dbx:1.1.0)
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:

  • 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.

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 488. 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()

Change Language


Follow Navioo On Twitter
dbx_close
dbx_compare
dbx_connect
dbx_error
dbx_escape_string
dbx_fetch_row
dbx_query
dbx_sort
eXTReMe Tracker