Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

dbx_compare

(PHP 4 >= 4.1.0)

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です。

例 1dbx_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()も参照下さい。