我有以下数组,它是根据数据库查询的结果加载的
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是从第二次调用数据库计算出来的。
谢谢
答案 0 :(得分:1)
请参阅usort()
以下需要php 5.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]);
});