Учебник РНР
Назад Вперёд

dbx_compare

(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_ASC - в порядке возрастания

  • DBX_CMP_DESC - в порядке убывания

и предпочтительный тип сравнения:
  • 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() .


Назад Оглавление Вперёд
dbx_close Вверх dbx_connect