我有这个基于每小时答案的测试得分:
$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。
答案 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;
}
};