PHP:Foreach得分帮助

时间:2010-01-18 08:24:38

标签: php

我有这个基于每小时答案的测试得分:

    $score_a = 0;

    foreach(array(4,5,10) as $a){
        if ($a >= 2 && $a <= 4) {
            $score_a += 1;
        } else if ($a > 4 && $a <= 8) {
            $score_a += 3;
        } else if ($a > 8) {
            $score_a += 0;
        }
    };

我需要最后的“否则if”得分略有不同。如果值> 8,我不需要添加.5,而是需要为8以上的每个整数添加.5。

所以这个分数必须是5而不是4.5。

1 个答案:

答案 0 :(得分:2)

你的意思是:$score_a += floor($a - 8) * .5;

您可以像这样使用它:

foreach(array(4,5,10) as $a){
    if ($a >= 2 && $a <= 4) {
        $score_a += 1;
    } else if ($a > 4 && $a <= 8) {
        $score_a += 3;
    } else if ($a > 8) {
        $score_a += floor($a - 8) * .5;
    }
};