昨天有朋友说看不懂什么意思 我现在截图说明一下
我想用echarts 做图表数据 查询出来的数据是下图左边的样子 要做成右边数据图表对应的样式所以求大神帮帮忙
再附一张图片格式的数据
6 回答
![?](http://img1.sycdn.imooc.com/5333a1d100010c2602000200-100-100.jpg)
慕哥6287543
TA贡献1831条经验 获得超10个赞
先转让数据格式为下面的(不知道还有没有精简的方法。。)
$arr = [
'1' => [
[
'month' => '2016-08',
'sum_money' => 250000,
],
[
'month' => '2016-09',
'sum_money' => 250000,
],
],
'2' => [
[
'month' => '2016-08',
'sum_money' => 250000,
],
[
'month' => '2016-09',
'sum_money' => 250000,
],
],
'3' => [
[
'month' => '2016-08',
'sum_money' => 250000,
],
[
'month' => '2016-09',
'sum_money' => 250000,
],
]
];
foreach ($arr as $name => $item) {
$series[] = [
'name' => $name,
'data' => array_column($item, 'sum_money')
];
}
$xAxis = array_column(array_pop($arr), 'month');
dump($xAxis);
$series = json_encode($series);
dump($series);
![?](http://img1.sycdn.imooc.com/54584c910001b8d902200220-100-100.jpg)
九州编程
TA贡献1785条经验 获得超4个赞
我思路是,你先把日期取出来,array_column这样就可以获取到日期数组,然后根据日期数组去遍历元数组获取统计数据,所有数据需要跟日期的数组顺序一致,然后json_encode返回给前端.
![?](http://img1.sycdn.imooc.com/54584e120001811202200220-100-100.jpg)
吃鸡游戏
TA贡献1829条经验 获得超7个赞
<?php
$array = [
['month'=>'2016-08', 'borrow_duration' => '1', 'sum_money'=>'1234'],
['month'=>'2016-08', 'borrow_duration' => '2', 'sum_money'=>'1231'],
['month'=>'2016-09', 'borrow_duration' => '1', 'sum_money'=>'2230'],
['month'=>'2016-09', 'borrow_duration' => '3', 'sum_money'=>'56723'],
];
$month = [];
$data = [];
foreach($array as $key => $value){
$month[$value['month']] = $value['month'];
$data[$value['borrow_duration']]['name'] = $value['borrow_duration'];
$data[$value['borrow_duration']]['data'][] = $value['sum_money'];
}
$month = array_values($month);
$data = array_values($data);
echo json_encode($month);
echo json_encode($data);
![?](http://img1.sycdn.imooc.com/54584e2c00010a2c02200220-100-100.jpg)
撒科打诨
TA贡献1934条经验 获得超2个赞
class SegmentFault
{
public $array = array(
array('month' => '2016-03', 'borrow_duration' => '1', 'sum_money' => '230000'),
array('month' => '2016-04', 'borrow_duration' => '2', 'sum_money' => '240000'),
array('month' => '2016-05', 'borrow_duration' => '3', 'sum_money' => '250000'),
array('month' => '2016-06', 'borrow_duration' => '1', 'sum_money' => '260000'),
array('month' => '2016-07', 'borrow_duration' => '2', 'sum_money' => '270000'),
array('month' => '2016-08', 'borrow_duration' => '3', 'sum_money' => '280000')
);
public function echarts()
{
foreach ($this->array as $key => $value)
{
$res['data'][] = $value['month'];
$res[$value['borrow_duration']]['name'] = $value['borrow_duration'];
$res[$value['borrow_duration']]['data'][] = $value['sum_money'];
}
return $res;
}
}
$instance = new SegmentFault();
$res = $instance->echarts();
echo json_encode($res);
- 6 回答
- 0 关注
- 549 浏览
添加回答
举报
0/150
提交
取消