dbx_compare
(PHP 4 >= 4.1.0, PHP 5 < 5.1.0, PECL dbx >= 1.1.0)
dbx_compare — ソートするために二つのレコードを比較する
説明
dbx_compare
( array
$row_a
, array $row_b
, string $column_key
[, int $flags = DBX_CMP_ASC | DBX_CMP_NATIVE
] ) : intdbx_compare() は dbx_sort() のヘルパ関数で、 独自のソート関数を作成しやすくします。
パラメータ
-
row_a -
最初の行。
-
row_b -
二番目の行。
-
column_key -
比較するカラム。
-
flags -
flagsによって比較の方向を指定します。-
DBX_CMP_ASC- 昇順 -
DBX_CMP_DESC- 降順
-
DBX_CMP_NATIVE- 型の変換を行いません -
DBX_CMP_TEXT- 文字列として比較します -
DBX_CMP_NUMBER- 数値として比較します
-
返り値
row_a[$column_key] が
row_b[$column_key] に等しい場合に 0、
前者が後者より大きいかあるいは小さい場合にそれぞれ
1 あるいは -1、
もし DBX_CMP_DESC が設定されていればその逆を返します。
例
例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("接続できませんでした");
$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);
?>