我有这样的数组:
Array
(
[0] => Array
(
[impr] => 800000
[clicks] => 500
[ctr] => 0.000625
[cvr] => 0.04
[cpc] => 0.14024
[cpm] => 0.08765
[cpa] => 3.51
)
[1] => Array
(
[impr] => 889000
[clicks] => 600
[ctr] => 0.000625
[cvr] => 0.08
[cpc] => 0.34024
[cpm] => 0.08765
[cpa] => 4.41
)
)
我想对该数组求和并得到像这样的结果
Array
(
[impr] => 1689000
[clicks] => 1100
[ctr] => 0.0025
[cvr] => 0.12
[cpc] => 0.96096
[cpm] => 0.1753
[cpa] => 7.92
)
我尝试使用
array_sum()
将我的数组循环到该array_sum,但是我得到了像这样的错误
array_sum()期望参数1为数组,给定整数
甚至尝试使用foreach循环并使用+ =求和值,但结果不是我想要的
结果是800000889000
任何人都可以向我推荐更好的代码来获取我想要的结果
答案 0 :(得分:0)
首先创建一个包含总和的数组:
$sumArray = array(
"impr" => 0,
"clicks" => 0,
"ctr" => 0,
"cvr" => 0,
"cpc" => 0,
"cpm" => 0,
"cpa" => 0,
);
然后进行计算:
foreach ($oldArray as $row)
{
foreach ($rows as $key => $value)
{
$sumArray[$key] += $value;
}
}
然后查看结果,只需:
print_r($sumArray);
注意:我假设原始数组中的密钥没有围绕它们的括号,但是如果实际的密钥字符串确实有括号,那么请使用以下代码用于创建$ sumArray:
$sumArray = array(
"[impr]" => 0,
"[clicks]" => 0,
"[ctr]" => 0,
"[cvr]" => 0,
"[cpc]" => 0,
"[cpm]" => 0,
"[cpa]" => 0,
);