[英]Summing an associative array based on key value
我有一个从mysql获取的关联数组,我需要根据不同列中的值求和。 我创建了一个关联数组,并打印到屏幕上,看起来还不错。 它返回我需要的内容,看起来像[1] => 779700.00 ) Array ( [4] => 868.00 ) Array ( [2] => 102000.00 ) Array ( [2] => 775808.00
我的问题是我需要能够对每个键值对的结果求和(例如,“ 2”的总和为877808.00)-只有八个键值,并且我需要一个变量来保存每个键值。 我读过很多类似的问题,并尝试过解决方案,但我却无所适从。
我假设我需要一个foreach循环,请有人能为我指出正确的方向吗?
while($row_outputs=mysqli_fetch_array($run_projects))
{
$Id = $row_outputs['id'];
$impact = $row_outputs['impact'];
$cost = $row_outputs['total_cost'];
$summing_array = array($impact=>$cost);
我将创建一个新的数组来保存您的总和的结果,然后针对每一行检查结果数组中是否已经有该$ impact的条目。 如果不创建,则添加$ 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;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.