【发布时间】:2019-11-09 18:01:33
【问题描述】:
我正在从 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 做起来不会那么难,但我在编程方面并不是很有经验。到目前为止,我可以用谷歌搜索我遇到的任何问题。这一次,我似乎无法找到答案。我真的不知道从哪里开始解决这个问题。
提前感谢任何人告诉我!
【问题讨论】:
-
创建一个关联数组,其键是日期。循环遍历数据并将每个数量添加到具有该键的元素中。
-
为什么不在查询中做呢?
SELECT date, SUM(amount) FROM table GROUP BY date -
@barmar 我希望你在金额字段中没有真正的 $ 但是在太阳不照耀的深处你知道他们有 :)
-
@RiggsFolly 我将更新我玫瑰色眼镜上的处方 :)
-
SUM(REPLACE(amount, '$', ''))如有必要
标签: php arrays merge duplicates