2017-01-30 35 views
1

返回我有此代碼添加值的foreach PHP

<?php if($grades->subcompid==$subcomp->id && $grades->compid=='1' && $grades->termid=='1' && $grades->recordid==$recid && $grades->studentid==$student->studentid){ 
    echo $grades->grade; 
?> 

我想回聲的值20,25,14,12和45--和上面的代碼這樣做。

的問題是我要添加這些值來獲得116所以我這樣做:

$midtermg = 0;  
<?php if($grades->subcompid==$subcomp->id && $grades->compid=='1' && $grades->termid=='1' && $grades->recordid==$recid && $grades->studentid==$student->studentid){ 
    $midtermg = $midtermg + $grades->grade; 
    echo $midtermg; 
} 

然而,它的返回值'20 45 59 71 116' 。它將該值添加到下一個值並每個回顯。我試着做echo end($midtermg);,但它說它不是一個數組,所以它不起作用。如果我只想讓116迴應,該怎麼辦?

* if語句返回正確的值,所以請不介意它

+0

顯示輸入數據。 – Carcigenicate

+0

在主循環外回顯您的變量 – Bhavik

+0

put $ midtermg = 0;並echo $ midtermg;如果有的話,在循環之外。 – mith

回答

0

就像你正在打印內部內loop.And if。剛和值值打印後if條件this.Every時間。

<?php 
$midtermg = 0;  
if($grades->subcompid==$subcomp->id && $grades->compid=='1' && $grades->termid=='1' && $grades->recordid==$recid && $grades->studentid==$student->studentid){ 
    $midtermg = $midtermg + $grades->grade; 

} 

echo $midtermg; 
0

初始化一個數組並將條件滿足值推入數組,然後您可以使用此數組進行操作。

<?php 
$midtermg = 0; 
$a_results= array();  
if($grades->subcompid==$subcomp->id && $grades->compid=='1' && $grades->termid=='1' && $grades->recordid==$recid && $grades->studentid==$student->studentid){ 
    // $midtermg = $midtermg + $grades->grade; 
    array_push($a_results, $grades->grade); 
} 
echo array_sum($a_results);