-2

ユーザーが正解を入力すると、スコアが増加する機能があります。検証機能は正常に動作していますが、スコアが増加していません。最初は 0 として定義し、答えに基づいてインクリメントする必要がありますが、機能していません。

    $score =0;
    function checkscore ($n, $ans)
    {
    global $score;
    $arr = array('a', 'd');
    if (($n == 1) && ($ans == (count(array_intersect($arr, $_POST['a'])) == count($arr))))  
    {
        $score++;
    }
    if (($n == 2) && ($ans == ($_POST['b'] == 'a'))) 
    {
        $score++;
    }

    if (($n == 3) && ($ans == "div[id='serenade']"))  
    {
        $score++;   
    }
    if (($n == 4) && ($ans != (($_POST['d1'] == 'B') && ($_POST['d2'] == 'C') && ($_POST['d3'] == 'A')))) 
    {
        $score++;   
    }

    return $score;
}

これが関数です。誰か助けてください。

4

1 に答える 1

0

この関数は$n、3 または 4 の場合は 1 を返し、それ以外の場合は 0 を返します。最初の 2 つの条件は常にfalse、3 番目はtruewhen $n==3、4 番目は when$n==4です。

そのため、時折増加しますが、最大 1 までです...

于 2013-10-26T19:23:07.383 に答える