我理解basic arrays
但是当他们变得更高级时,我会有点失落。有人可以帮助我使用以下代码和array
吗?
我将DB query
存储到array
。如果所有12个月都不在数据库中那么就是存储的所有内容(应该如此)。但是,我的问题是我需要array
才能拥有所有12 keys
所以我可以打印出来。
// Example amounts
0, 0, 0, 0, 5.23, 0, 0, 158.35, 0, 0, 0, 0
基本上如果它不存在,我仍然可以在那个月打印出零。
这是我的代码:
$closedsales = mysqli_query($mysqli, "SELECT MONTH(date) as month, sum(amount) as total FROM sales WHERE user_id = '".$userid."' AND status = 'S' GROUP BY MONTH(date)");
while ( $row = mysqli_fetch_assoc($closedsales) ) {
$monthlysales[$row['month']] = $row['total'];
}
foreach($monthlysales as $key => $amount) {
echo "$amount <br />";
}
答案 0 :(得分:2)
预填充结果数组:
$monthlysales = array_fill_keys(range(1, 12), 0);
然后运行你的循环,它将用表中的行替换元素。如果表中缺少一行,则它将具有初始值0。
答案 1 :(得分:1)
$allmonthlysales = array_fill_keys(range(1, 12), 0);
foreach($monthlysales as $month => $sales){
$allmonthlysales[$month] = $sales;
}
var_dump($allmonthlysales);
array
和1-12
作为0
准备和value
,意味着没有销售的几个月。array
合并为具有销售额的月份与上面构建的空白月份。