public function get_all_users() { $sort_by = Input::get('sort_by'); $user = User::where('id', '>', 0)->where('active', '=', 1)->get()->toArray(); $user_data = array(); foreach ($user as $u_user) { if ($u_user['rank'] == 0) { $ans_status = new Answers_status(); $u_user['rank'] = $ans_status->get_user_rank($u_user['id']); } array_push($user_data, $u_user); } if (!empty($sort_by)) { if ($sort_by == 'rank') { usort($user_data, function ($a, $b) { // usort — Sort an array by values using a user-defined comparison function return $b['rank'] - $a['rank']; }); } elseif ($sort_by == 'name') { // usort($user_data, function($a, $b) { // usort — Sort an array by values using a user-defined comparison function // return strcmp($a['name'] , $b['name']); // }); ksort($user_data); } } return $user_data; }