php foreach 怎麼把值加總?第三、四層的值!

clipboard.png

clipboard.png

第一層是對的
但是下面那層變錯的,他多加上了135.....

補充結構

clipboard.png

我是要算最裡面那兩層的「price」 * 「amount」
可以正常乘以,但加總會有問題

阅读 3.2k
3 个回答

……我觉得Ls答案没毛病啊,明明就是个汇总值,为什么要循环执行echo


不太明白你这里的数据结构是怎么规划的……这里应该是一个二维数组结构吧。
另外看你上边用了number_format,这个输出是个字符串,建议你在所有计算结束后页面渲染前再用,因为计算机的原生浮点数在计算时会存在精度误差(可以自己搜一下“IEEE754精度误差”),另外类型也不对。

$_sum = 0;
foreach ($sum as $key => $value) {
  $_sum += $key * $value;
}
echo $_sum;

我没看懂你的问题,但是我猜想会不会是跟foreach的引用值有关

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题