0

我正在寻找对控制器中的查询结果进行排序,“在”它从模型返回之后,这是我正在尝试的:

$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应该根据学生的成绩对结果进行排序,然后将排序后的 $query 传递给我的视图进行打印

有什么建议或想法吗?

注意:如果我们使用其他临时变量或数据结构也没有问题,例如我们也可以将排序结果存储在其他变量中

4

1 回答 1

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);
于 2012-08-19T13:45:30.203 回答