我只想在foreach
循环中得到整数之和。
通常我们可以通过这种语法得到总和
$sum = 0;
foreach($group as $key=>$value)
{
$sum+= $value;
}
echo $sum;
echoing
$sum
变量我们可以得到循环之外的总和。
但我想在$sum
循环中使用foreach
变量。
我在我的程序中有一些计算。我需要在循环内部使用$sum
变量。
这是$sum
1260.32871
9689.77324
10760.87267
126247.29657
151455.92761
198485.57421
223694.20525
334296.14836
348160.79259
352887.41091
367760.42095
466451.71783
471178.33615
471966.10587
473856.85604
475416.45497
总和是475416.45497
,这当然是最后的。问题是我在循环中进行了计算。因为它是迭代的。在进行计算时,我仍然可以从顶部1260.32871
开始获取先前的值。我只想得到位于最底层的475416.45497
。
答案 0 :(得分:1)
逻辑上,你不能。您正在使用foreach
循环计算总和,因此您无法在循环中获得完整的总和。如果你需要,还有另外两种我可以想到你可以解决这个问题的方法:
$sum = 0;
foreach($group as $key=>$value)
{
$sum+= $value;
}
echo $sum;
foreach($group as $key=>$value)
{
// the sum is now complete and can be used
}
或者:
$sum = array_sum($group);
echo $sum;
foreach($group as $key=>$value)
{
// the sum is now complete and can be used
}
答案 1 :(得分:1)
如果你想在循环中得到$ value的总和,你必须先计算它,然后再进入循环:
$sum = array_sum(array_column($group, 'column_key'));
其中'column_key'
是包含您想要求和的值的数组$group
的索引。
示例:
让我们说这个数组包含要求和的值:
$data = [
[
'id' => 2,
'name' => 'Jhon',
'salary' => 1500
],
[
'id' => 5,
'name' => 'Jane',
'salary' => 2000
]
];
现在我们想要所有工资的总和:
$totSalary = array_sum(array_column($data, 'salary'));
// echo $totSalary will print 3500
答案 2 :(得分:0)
你不能在循环内得到整数的总和。因为迭代。但你可以从这个循环得到迭代求和结果。
$sum = 0;
$group=['t'=>3,'m'=>4];
foreach($group as $key=>$value)
{
$sum+= $value;
echo $sum.'<br>';
}