2010-01-18 79 views
1

我有这样的PHP分数测试基于每小时答案:PHP:的foreach进球帮助

$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; 
     } 
    }; 

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

因此,此分数需要为5而不是4.5。

+2

不清楚你能解释它更感谢 – 2010-01-18 08:31:21

+1

请澄清你的问题。你需要做什么? – 2010-01-18 08:33:35

+0

我不明白。你认为4,5和10的结果是什么? $ score_a的初始值是多少? – Gordon 2010-01-18 08:42:27

回答

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; 
    } 
}; 
+0

我这么认为?我是一个主要的初学者...... 基本上,对于每个8以上的数字,需要添加.5(不像以前那样是单个添加)。 – 2010-01-18 08:31:05

+0

@Kevin - 好的,(更新后的)代码示例也适用于您? – 2010-01-18 08:39:45

+0

明天考试。现在是凌晨4点... :) – 2010-01-18 08:42:06