|
(PHP 4 >= 4.1.0)
dbx_compare - сравнивает два ряда для целей сортировки.
Описание
int dbx_compare (array row_a, array row_b, string column_key [, int flags])
dbx_compare() возвращает 0, если row_a[$column_key] равно
row_b[$column_key], и 1 или -1, если первое больше или меньше сторого, соответственно, или наоборот, если
flag
установлен на
DBX_CMP_DESC
.
dbx_compare() это вспомогательная функция в дополнение к
dbx_sort()
, облегчающая создание и использование этой специальной функции сортировки.
Параметр
flags
может быть установлен для специфицирования направления сравнения:
и предпочтительный тип сравнения:
-
DBX_CMP_NATIVE
- нет конвертации типов
-
DBX_CMP_TEXT
- сравнивать как строки
-
DBX_CMP_NUMBER
- сравнивать численно
Одно из направлений и одна из констант типа могут комбинироваться битовой
операцией OR (|). Значение по умолчанию параметра
flags
такое:
DBX_CMP_ASC
|
DBX_CMP_NATIVE
.
Пример 1. dbx_compare()
<?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");
// данные в $result теперь упорядочены по id
dbx_sort ($result, "user_re_order");
// данные в $result теперь упорядочены по parentid (по убыванию), затем по id
dbx_close ($link);
?>
|
|
См. также
dbx_sort()
.
|
|