2

データベースクエリの結果に基づいて読み込まれる次の配列があります

   while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {   
            $response->rows[$i]['user_id']=$row['user_id'];
            # Row Data 
            $response->rows[$i]['cell']=array(
                                    $row['user_id'],
                                    $row['aff_code'],
                                    $row['lname'],
                                    $row['fname'],
                                    $new_comm,
                                    $mth_earn,
                                    $status_label);
           $i++;
        }

この配列を$new_comm(数値)で並べ替えるにはどうすればよいですか?

$new_commと$mth_earnは、データベースへの2回目の呼び出しから計算されます。

ありがとうございました

4

1 に答える 1

1

usort()を参照してください

以下にはphp5.3が必要です。それ以外の場合は、匿名関数をcreate_function()で作成した関数に置き換えます。

usort($response->rows, function($a, $b){
    return $b['cell'][4] - $a['cell'][4];
});

または巧妙に実装された並べ替え順序オプションを使用

usort($arr, function($a, $b) {
    $sortDescending = false;
    return (1 - 2*$sortDescending) * ($b['cell'][4] - $a['cell'][4]);
});
于 2012-04-19T14:22:31.513 に答える