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 に答える