我希望在控制器中对查询结果进行排序,“之后”从模型中返回,这是我在尝试的内容:
$query = $this->user->get_all_users();
foreach($query as $user){
// dynamically according to my projects' logic
// assigns a grade to each user
$user->grade = assign_a_grade_to_user()
}
我要做的是,$query
中的结果应根据学生的成绩进行排序,然后将已排序的$查询传递给我的视图进行打印
任何有关此问题的建议或想法?
注意:如果我们使用其他临时变量或数据结构没有问题,例如我们也可以将排序结果存储在其他变量中
答案 0 :(得分:1)
这应该做:
function cmp( $a, $b )
{
if( $a->grade== $b->grade){ return 0 ; }
return ($a->grade< $b->grade) ? -1 : 1;
}
$sortedArray=usort($query ,'cmp');
所以你的代码应该是这样的:
$query = $this->user->get_all_users();
foreach($query as $user){
// assigns a grade to each user
$user->grade = assign_a_grade_to_user()
}
$sortedArray=usort($query ,'cmp');
$data['users']=$query;
$this->load->view('home',$data);