-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。前两个条件永远是false,而第三个条件是truewhen$n==3和第四个 when $n==4

所以它偶尔会增加,但最多只能增加 1...

于 2013-10-26T19:23:07.383 回答