2013-05-14 80 views
18
foreach($group as $key=>$value) 
{ 
    echo $key. " = " .$value. "<br>"; 
} 

例如:薩姆值foreach循環PHP

DOC1 = 8

DOC2 = 7

doc3的= 1

我想算$值,所以結果是8 + 7 + 1 = 16.我該怎麼辦?

謝謝。

+0

只要初始化變量爲0以外循環,並在l中添加每個'$ value'接力。說真的,這是一個非常初級的初學者編程問題;在你試圖走得更遠之前,確保你清楚了真正的基本概念,否則你會遇到很多對你沒有意義的事情。 – ebohlman 2013-05-14 08:07:38

回答

50
$sum = 0; 
foreach($group as $key=>$value) 
{ 
    $sum+= $value; 
} 
echo $sum; 
2

使用+=

$val = 0; 

foreach($arr as $var) { 
    $val += $var; 
} 

echo $val; 
1

您可以使用array_sum()

$total = array_sum($group); 
+0

我可以想象有人沒有註冊這個。每個人似乎都在重塑車輪 – peter 2017-11-06 21:50:50

+0

公平的說,算法很微不足道,有時候人們會忘記標準庫中存在這樣的事情。有時候,SO被鎖定在一種暴民的心態中,投票回答,而忽視其他人,因爲第一個_works_。 – 2017-11-07 18:58:29

0
$total=0; 
foreach($group as $key=>$value) 
{ 
    echo $key. " = " .$value. "<br>"; 
    $total+= $value; 
} 
echo $total; 
11

你的情況,如果你想要去的foreach循環比

$sum = 0; 
foreach($group as $key => $value) { 
    $sum += $value; 
} 
echo $sum; 

但是,如果你想要去與陣列的直接和上比看下面的解決方案:

$total = array_sum($group); 

對於只有數組的總和循環是浪費時間。

http://php.net/manual/en/function.array-sum.php

array_sum - 計算在陣列中

<?php 
$a = array(2, 4, 6, 8); 
echo "sum(a) = " . array_sum($a) . "\n"; 

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4); 
echo "sum(b) = " . array_sum($b) . "\n"; 
?> 

上面的例子值的總和將輸出:

sum(a) = 20 
sum(b) = 6.9