Как сбросить переменные a, b, c и счет после цикла? - PullRequest
0 голосов
/ 01 июля 2019

Я хочу посчитать свой счет по варианту a / b / c, который введен из формы. для каждого заданного ввода значение из a = 1, b = 2, c = 3, после подсчета я хочу сохранить результат в переменной счёта

в моем контроллере

public function score($id) {
    $user_login = Auth::user()->id;
    $answers = Answer::select('user_answer')->where('jenis_quiz_id','=',$id)->where('user_id','=',$user_login)->get();

    static $a = 0;
    static $b = 0;
    static $c = 0;
    static $score = 0;
    if($answers->count()) {
        foreach ($answers as $answer) {
            if ($answer->user_answer == '1') {
                $a++;
            } else if($answer->user_answer == '2') {
                $b++;
            } elseif($answer->user_answer == '3') {
                $c++;
            }
        }
    }

    $score = $a+$b+$c;
    $returnScore = $score;
    $a = null;
    $b = null;
    $c = null;
    $score = null;
    return $returnScore;
}


public function getShowResultOfQuiz($id) {
    $categoryquiz = JenisQuiz::findOrFail($id);
    $user = Auth::user()->id;

    $score= $this->score($id);

    $kelas = Auth::user()->kelas;
    $instansi = Auth::user()->instansi;

    History::create([
        'user_id'=>$user,
        'jenis_quiz_id'=>$id,
        'score'=> $score,
        'kelas' => $kelas,
        'instansi' => $instansi
    ]);

    // $time_taken = date("H:i:s", strtotime(Answer::whereJenisQuizId($id)->orderBy('id', 'desc')->first()->time_taken));
    switch ($id) {
        case '1':
            return view('quiz1',compact('score','categoryquiz'));

        case '2':
            return view('quiz2',compact('score','categoryquiz'));

        case '3':
            return view('quiz3',compact('score','categoryquiz'));
    }
}

Я хочу сбрасывать переменные a, b, c и Score для каждого отправленного ввода, и проблема в том, что оценка всегда добавляется из предыдущего отправленного ответа, а не сбрасывает его перед повторным вычислением оценки, помогите мне, спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...