【发布时间】:2016-03-04 20:50:30
【问题描述】:
我有 2 个数据库对象,它们随着时间的推移为我提供数据。然而,结果不一定具有相同的日期。用户可以在一天只输入他们的体重,或者在另一天输入体脂,或者在同一天输入两者。
体重历史
日期 - 金额
2016 年 3 月 2 日,星期三 - 194.00
2016 年 3 月 3 日星期三 - 205.40
体脂历史
日期 - 金额
2016 年 3 月 1 日星期三 - 24.80
2016 年 3 月 2 日星期三 - 22.80
我想绘制此数据的图表,因此我需要合并匹配的日期,然后在不匹配的剩余值中包含一个空值。
我未能掌握的逻辑是如何添加其他逻辑以获得完整的数据集。
这是我的代码,用于合并数据并获取剩余的重量结果。什么是添加不匹配的体脂结果的最佳方法。如果我在嵌套循环中执行它们,数据将被添加多次。
foreach(array_reverse($weight_history->result()) as $row):
foreach(array_reverse($bodyfat_history->result()) as $row2):
if(date("F j, Y", $row->date) == date("F j, Y", $row2->date)){
$results[date("F j, Y", $row->date)]['weight'] = $row->amount;
$results[date("F j, Y", $row->date)]['bodyfat'] = $row2->amount;
}
$results[date("F j, Y", $row->date)]['weight'] = $row->amount;
endforeach;
endforeach;
这是我想要的结果集。
日期 - 体重 - 体脂
2016 年 3 月 1 日星期三 - 空 - 24.80
2016 年 3 月 2 日星期三 - 194.00 - 22.80
2016 年 3 月 3 日星期三 - 205.40 - 空
【问题讨论】:
标签: php arrays multidimensional-array