PHP - 如何在循环中使用sum变量

时间:2018-02-13 05:58:28

标签: php mysql

我只想在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

3 个答案:

答案 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>';
 }