我正在从MySQL数据库中提取行。每行包含一个日期和一个金额(USD)。一些日期是相同的。我已经尝试了几个小时,以合并具有相同日期的那些行的数量。
我尝试过array_merge以及服务器化if语句,foreach以及while。
while($row2 = mysqli_fetch_array($result3)) {
array_push($mergeDuplicateDate,
array(
$row2[1], //date
$row2[2] //amount
)
);
};
如果输出如下:
06-25-2019, $5
06-25-2019, $10
06-26-2019, $2
06-26-2019, $1
我希望将其总结为:
06-25-2019, $15
06-26-2019, $3
我知道使用PHP并非难事,但我对编程并不精通。到目前为止,我可以用谷歌搜索遇到的任何问题。这次我似乎找不到答案。我什至不知道从哪里开始解决这个问题。
在此先感谢任何将其分解给我的人!
答案 0 :(得分:0)
使用数据库,这是解决问题的计算成本最低的方法。 XD
SELECT date ,SUM(amount) FROM table GROUP BY date ASC
答案 1 :(得分:0)
最好的方法是在@barmar注释中提到的MySQL查询中使用group by。
如果您真的想用PHP做到这一点,则可以使用以下代码
$finalArray=[];
while($row2 = mysqli_fetch_array($result3)) {
$finalArray[$row2[1]] = $finalArray[$row2[1]] ? $finalArray[$row2[1]] +$row2[2] : $row2[2];
};