如果单元格中有重复的值,PHP 会合并多行

我正在从 MySQL 数据库中提取行。每行包含一个日期和一个金额(美元)。有些日期是相同的。我已经尝试了几个小时来合并具有相同日期的行的数量。


我尝试过 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 做起来并不难,但我在编程方面并不是很熟练。到目前为止,我可以用谷歌搜索我遇到的任何问题。这一次我似乎无法找到答案。我真的不知道从哪里开始解决这个问题。


在此先感谢向我分解这一切的人!


潇湘沐
浏览 158回答 2
2回答

30秒到达战场

最好的方法是在@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];};

元芳怎么了

使用数据库,这是解决问题的计算成本最低的方法。XDSELECT date ,SUM(amount) FROM table GROUP BY date ASC
打开App,查看更多内容
随时随地看视频慕课网APP