/** * @param array $exercise_list * @param int $user_id * @param int $courseId * @param int $session_id * @return string */ public static function get_exercise_student_average_best_attempt($exercise_list, $user_id, $courseId, $session_id) { $result = 0; if (!empty($exercise_list)) { foreach ($exercise_list as $exercise_data) { $exercise_id = $exercise_data['id']; $best_attempt = Event::get_best_attempt_exercise_results_per_user($user_id, $exercise_id, $courseId, $session_id); if (!empty($best_attempt) && !empty($best_attempt['exe_weighting'])) { $result += $best_attempt['exe_result'] / $best_attempt['exe_weighting']; } } $result = $result / count($exercise_list); $result = round($result, 2) * 100; } return $result . '%'; }