php - PHP中的数组总和和计数行
问题描述
我有一个函数 getData 返回:
array:4 [▼
0 => array:1 [▼
0 => "5689.01"
]
1 => array:1 [▼
0 => "5689.01"
]
2 => array:1 [▼
0 => "0.0"
]
3 => array:1 [▼
0 => "5665.11"
]
]
我需要计算每次触发调用时返回的值的行数(这次是 4,如上所述),并返回列出的所有结果的总和。
$rows = $this->get('app')->getData();
if($rows) {
foreach ($rows as $row) {
$sumOfAll = 0;
$total = count($rows);
$sumOfAll += array_sum(array($row[0] * $total));
dump($sumOfAll);die;
}
}
我总是得到一个错误的总和,在这种情况下是 22756.04。
解决方案
使用 array_sum 和 array_column 获取值并将它们求和。
然后使用 count() 获取计数。
$sum = array_sum(array_column($arr, 0));
$count = count($arr);
echo "count is ". $count . " And sum is " . $sum;
推荐阅读
- mysql - 按自定义优先级选择列值
- flutter - 如何在 Flutter 中为视频添加水印?
- javascript - 代理和 ServerParseError 的 GraphQL 错误
- java - java链表中节点的引用传递
- python - 如何在 python 中为基于文本的冒险游戏创建保存系统?
- java - 在 Android 应用程序中设置日期时出现 NullPointerException
- c# - 无法获取浏览器网页的 HTML 源代码,异步同步问题
- ajax - 如何将数据列表从控制器发送到剃须刀中的模式弹出窗口
- python - 如果最小值满足特定条件,则在函数中编写查找第二最小值的脚本
- html - 我不能在 CSS 中使用内联 svg 作为自定义光标