2012-01-14 14 views
-2

次のように、$ colnumの最後の桁を追加します。コード内のコメントを参照してください。PHPで数値を再帰的に追加する方法

for($c=2;$c<$keynum;$c++){ 
... 
... 
$studentcomment = ''; 
for($col=1;$col<5;$col++){ 
    $colnum="col".$col."_".$c;// this will find col1_2, col2_2, col3_2, col4_2 
    $colnum= $this->input->post($colnum);// this will get value from post. 
    //e.g. col11, col12 col13 col14 or col15 
    echo "colnum is "; 
    echo $colnum; // this will be col12 
    echo "<br />"; 
    $subgrade=""; 
    $subgrade = substr($colnum,-1);// get the last digit 
    if($subgrade<5 AND !empty ($subgrade)){// 5 has no comment so excluded 
     echo "subgrade is "; 
     echo $subgrade;// this will be 2,3 or 4 
     $total=""; 
     $total += $subgrade;// add all the subgrade to find the total 
     echo "<br />"; 
     echo "Total collaboration marks is "; 
     echo $total; 
    } 

    if(!empty($colnum)){ 
     $studentcomment .=$this->lang->line($colnum);//output all the comments 
from language file. 
    } 

} 

ただし、出力は次のとおりであり、数値は加算されません。

colnum is col15 
colnum is col24 
subgrade is 4 
Total is 4 
colnum is col33 
subgrade is 3 
Total is 3 
colnum is col42 
subgrade is 2 
Total is 2 

お手数ですが、よろしくお願いいたします。

答えて

1

あなたはここにforループ内$totalをリセットされます。

$total=""; 

これは、ループの外に移動する必要があります。コードでは間違いなくクリーンアップを使用することができます。

+0

+1クリーンアップ。 – cmbuckley

1

私はあなたの問題を完全に理解していませんが、$totalにすべての列の合計を含めるには、$total = "";行を削除するか、ループ外に移動する必要があります。これは、forループの各繰り返しで合計値をリセットし続けます。

関連する問題