我有一个从mysql获取的关联数组,我需要根据不同列中的值对值进行求和。我创建了一个关联数组,并打印到屏幕上,看起来没问题。它返回我需要的内容,看起来像play
我的问题是我需要能够对每个单独的键值对的结果求和(所以例如' 2'总和为877808.00) - 只有八个键值,我需要一个变量来容纳每一个。我已经阅读了很多类似的问题并且已经尝试过这些解决方案,但是让我自己感到绝望。
我认为我需要一个foreach循环,请有人指出我正确的方向,我需要做什么?
[1] => 779700.00 ) Array ( [4] => 868.00 ) Array ( [2] => 102000.00 ) Array ( [2] => 775808.00
答案 0 :(得分:0)
我会创建一个新数组来保存总和的结果,然后检查每一行是否已经在结果数组中有一个$ $影响的条目。如果没有创建它,如果是,则向其添加$ cost。这可以这样做:
$results = [];
while ($row_outputs = mysqli_fetch_array($run_projects)) {
$Id = $row_outputs['id'];
$impact = $row_outputs['impact'];
$cost = $row_outputs['total_cost'];
if(isset($results[$impact])){
$results[$impact] += $cost;
}else{
$results[$impact] = $cost;
}
}