dbx_compare
(PHP 4 >= 4.1.0, PHP 5)
dbx_compare --
ソートするために二つのレコードを比較する
説明
int
dbx_compare ( array row_a, array row_b, string columnname_or_index [, int flags] )
警告 |
このモジュールは、
実験的なものです。これは、これらの関数の動作、関
数名は、このドキュメントに書かれて事項と同様に告知なく将来的なPHPのリ
リースで変更される可能性があります。注意を喚起するとともに、このモジュー
ルは使用者のリスクで使用してください。 |
row_a[$columnname_or_index] が row_b[$columnname_or_index] に等し
い場合に 0、より大きい場合に-1、より小さい場合に1を返します。
(DBX_CMP_DESCフラグが指定されている場合には逆となります)
flagsにより比較の方向(昇順または降順のソー
トのどちらか)と比較の型(データ変換により強制的に文字列または数値
として比較する)を設定することが可能です。比較用定数は、
DBX_CMP_ASC及びDBX_CMP_DESCです。比較用定数は、DBX_CMP_NATIVE(比
較無し)、DBX_CMP_TEXT、DBX_CMP_NUMBERです。これらの定数は、論理和
をとることができます。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"); return $rv; } }
$link = dbx_connect ("odbc", "", "db", "username", "password") or die ("Could not connect"); $result = dbx_query ($link, "SELECT id, parentid, description FROM tbl ORDER BY id"); echo "resulting data is now ordered by id<br>"; dbx_sort ($result, "user_re_order"); echo "resulting data is now ordered by parentid (descending), then by id<br>"; dbx_close ($link); ?>
|
|
dbx_sort()も参照ください。