2010-01-18 98 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