2014-02-17 96 views
0

如何計算(總和)+ foreach循環中的值?foreach循環中的PHP計算,斷點和復位值

我正在一個板球應用程序,我必須計數每6次循環,然後計算具體的價值,然後回聲總。

我有一個代碼不準確,但像這樣。

而且有兩個值:

  1. 球$球[ '1'];數組像1,2,3,4,5和多達300-1000個球
  2. 運行$ balls ['6'];數組像2,3,1,5個隨機數可以是任意的;
  3. 值來自MySQL表列運行
foreach($balls as $ball){ 
    $countball++; 
    // here is what i need to know how do i calculate the values of $ball + $ball? 
    // so i can echo it inside the below if condition? 
    $runs = $ball['runs'] + $ball['runs']; // not working 
    if($countball == 6){ 
     echo $runs; 
    } 
    $runs+= $ball; // reset the ball counting to continue addition from loop? 
    // and reset the 
}// end foreach 

但是像這樣工作正常,首$ countball == 6.但之後,它不顯示確切值

+1

對於我們這些不瞭解板球的人來說,您能展示樣本輸入數據和期望的輸出嗎? – Barmar

+1

'$ runs = $ ball + $ ball'與'$ runs = 2 * $ ball'是一樣的。這不是一個總計,你每次通過循環重置它。 – Barmar

+0

對不起,我是新來的,我編輯了這個問題來添加更多的desc,但代碼格式現在令人困惑。 是的,我認爲我重新設置它,所以如果($ coundball == 6)echo $運行並重置爲下一個6循環後如何重置下一個循環的值? – Genus

回答

0

您忘記重置$ countball。

你可以改變,如果一部分:

if($countball == 6) 
{ 
    echo $runs; 
    $countball = 0; 
} 
+0

是的,但這不是問題,問題是$運行計數! – Genus

+0

也設置'$ runs = 0'。 – Barmar

0

也許這就是你需要:

$runs = 0; 
foreach($balls as $ball){ 
    $runs += $ball['runs']; 
} 
echo $runs; 
+0

不起作用,請告訴我如何簡單地總結一個foreach值,例如當前循環中的值與下一個循環的值進行求和? – Genus

+0

你還沒有清楚地解釋你想要的結果是什麼。 – Barmar

+0

我只想在下一個循環中彙總當前的$ ball ['runs'] $ ball ['runs']; 實施例的結果是: 詹姆斯·2個滾珠3個運行 2.亞當1個球4次運行 詹姆斯·1個球5次運行 最終結果我需要的是從總for​​each循環僅 12個運行我可以從另一個做到這一點查詢到MySQL。 – Genus

0

隨着@Barmar的幫助下從上面我得到的以下所需的輸出

 $runs = 0; 
     $countball=0; 
     foreach($balls as $ball){ 
      $countball++; 
      $runs += $ball['runs']; 
      if($countball == 6){ 
// reset runs from current loop runs for next, if i reset $runs = 0 
// for some reason it does not (SUM) + this loops $ball['runs'] with last 5; 
      $runs = $ball['runs']; 
      $countball=0; 
      }// end if $countball == 6 
     }// end foreach 
      echo $runs;