web-dev-qa-db-ja.com

foreachループPHPの合計値

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

例えば:

doc1 = 8

doc2 = 7

doc3 = 1

$ valueをカウントしたいので、結果は8 + 7 + 1 = 16になります。どうすればよいですか?

ありがとう。

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

あなたの場合、foreachループを使いたい場合

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

しかし、あなたの解決策を以下で見るよりも、配列の直接的な合計で行きたい場合:

$total = array_sum($group);

for配列の合計のみループは時間の浪費です。

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
13
Kishan Patel

つかいます +=

$val = 0;

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

echo $val;
3
Mr. Alien

array_sum()を使用できます。

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