1

php4 を使用した mysql 呼び出しからのテキスト文字列に基づいて、usort を使用して配列を注文する必要があります。

これまでのところ、注文を取得するための mysql 呼び出しがあります。

$result=mysql_query("SELECT rank from order WHERE id=1");
$row = mysql_fetch_row($result);

$row[0]='アルベルト、カルロス、ブロセフス、エドガー、ダニエラ';

そして、配列にハードコーディングすると機能する関数があります。

function cmp($a,$b){
    //$order = how do I get $row[0] in here?
    $a_index = array_search($a['name'], $order);
    if (!$a_index) {
        $a_index = 999;
    }
    $b_index = array_search($b['name'], $order);
    if (!$b_index) {
        $b_index = 999;
    }
    return $a_index - $b_index;
}
usort($names,cmp);

その文字列を配列として cmp 関数に入れる最も簡単な方法は何ですか?

4

2 に答える 2

0

最新バージョンの PHP を使用している場合は、次のuseようにキーワードを使用できます。

function cmp($a, $b) use $your_string {
    ...
}

useまたは、次のようにクロージャーを使用します。

usort(function($a, $b) use $your_string {
    ...
});

ただし、古いバージョンの PHP を使用しているため、グローバル宣言を使用する必要がある場合があります。

function cmp($a, $b) {
    global $your_string;
    ...
}
于 2013-04-03T18:29:42.190 に答える