我有以下格式的 php 数组:
$data = array(
array(
'label' => 'Sale',
'color' => '#28d8b2',
'data' =>
array(
array('Jan', 27),
array('Feb', 82),
array('Mar', 56),
array('Apr', 14),
array('May', 28),
array('Jun', 77),
array('Jul', 23),
array('Aug', 49),
array('Sep', 81),
array('Oct', 20),
array('Nov', 23),
array('Dec', 99)
)
)
);
我想将从 mysql 表查询的数据放入上面的子数组中,如下所示:
array(
array('Jan', 27),
array('Feb', 82),
array('Mar', 56),
array('Apr', 14),
array('May', 28),
array('Jun', 77),
array('Jul', 23),
array('Aug', 49),
array('Sep', 81),
array('Oct', 20),
array('Nov', 23),
array('Dec', 99)
)
我尝试使用以下代码将从 mysql 数据库查询的数据放入其中,但仍然不是我想要的:
$get_date = dbQuery("SELECT MONTH(STR_TO_DATE(ors.order_date, '%Y-%m-%d')) AS month, SUM(ord.total_price) AS total FROM orders ors INNER JOIN order_detail ord ON (ors.order_id = ord.order_id) WHERE YEAR(STR_TO_DATE(ors.order_date, '%Y-%m-%d')) = '$year' GROUP BY month");
$count = $get_date->rowCount();
$index = 1;
$ar = array();
while($row = $get_date->fetch(PDO::FETCH_ASSOC))
{
$ar[$index] = $row;
$index++;
}
print_r($ar);
所以我的问题是我想将我的数据放入现有的 php 数组中,如上所述,即使 mysql 数据库中没有任何月份,脚本仍然需要将该月份指定为 0。
例如,如果数据库中不存在任何月份,则将数据像这样放入数组中
array(
array('Jan', 27),
array('Feb', 0),
array('Mar', 56),
array('Apr', 14),
array('May', 0),
array('Jun', 77),
array('Jul', 0),
array('Aug', 0),
array('Sep', 81),
array('Oct', 0),
array('Nov', 23),
array('Dec', 0)
)
最佳答案
array_push($data[0]['data'], [$month_name, $month_value]);
也许这会起作用。没有测试过。
关于php - 如何将mysql查询数据打印到php多维数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32424684/