php如何将数据库查询统计出来的数据,转换成为自己想要的格式数组?

报修类型 年份 数量
自检 2016 23
自检 2017 22
自检 2018 14
用户报修 2016 56
用户报修 2017 45
用户报修 2018 34
客服报修 2016 34
客服报修 2017 32
客服报修 2018 23
其他 2016 6
其他 2017 5
上面是数据库查询出来的统计数据,我想通过PHP遍历后把他变成下面的数组格式:
Array
(
[0] => Array
(
[name] => 自检
[nianfen] => [2016,2017,2018]
[value] => [23,22,14]
)

[1] => Array
(
[name] => 用户报修
[nianfen] => [2016,2017,2018]
[value] => [56,45,34]
)

[2] => Array
(
[name] => 客服报修
[nianfen] => [2016,2017,2018]
[value] => [34,32,23]
)

[3] => Array
(
[name] => 其他报修
[nianfen] => [2016,2017,2018]
[value] => [6,5,0]
)
)

我也很就纠结这个问题,现在我是这样做的
$res = mysqli_query ($sql, "select BCur from microvast where id between 1 and 50");
foreach($res as $x=>$x_value) {
foreach($x_value as $k=>$v) {
$data[] = $v;
}
这样可以$data[]生成了‘BCur’一列的一个索引数组,但是执行效率不高,多列就要做多次查询,期待更好的方法。
while ($row=mysqli_fetch_assoc($res)){
$id=$row["id"];
......
echo $id;
}
这个办法只能打印出来
温馨提示:答案为网友推荐,仅供参考
相似回答