【发布时间】:2023-03-18 03:09:01
【问题描述】:
我正在 PHP 中创建一个数组以发送回前端以在 Flot 折线图中显示。我有应该按月显示的数据。如果我的 SQL 语句没有找到给定月份的任何值,则该月份没有数组元素,并且 Flot 图表没有绘制该月份的数据点(参见下面屏幕截图中的 Mar 和 Apr)。我希望它在没有数据的月份显示零数据点。
这是我创建数组的方式:
$array = array();
$array['data'] = Array();
$array['label'] = $tags[0]['tag_name'];
foreach($tags as $key=>$value) {
$month = $value['month'];
$arr = Array($month, $value['trans_amount']);
array_push($array['data'], $arr);
}
当前输出:
{"data":[[1,"75.00"],[2,"170.00"],[5,"100.00"]],"label":"example label"}
期望的输出:
{"data":[[1,"75.00"],[2,"170.00"],[3, "0"],[4, "0"],[5,"100.00"]],"label":"example label"}
这是图表当前与当前输出一起显示的方式:
【问题讨论】:
-
当您尝试输出 $month 变量时,您是否获得了 1-5 个月?你的 $tags 数组是什么样子的?
-
我只得到 1、2 和 5,因为这是数据库中唯一的数据。为此无需进行任何更改,我只需要修改我的 PHP 以用零值填充数组中的空白。