昨天有朋友說看不懂什么意思 我現在截圖說明一下
我想用echarts 做圖表數據 查詢出來的數據是下圖左邊的樣子 要做成右邊數據圖表對應的樣式所以求大神幫幫忙
再附一張圖片格式的數據
6 回答

慕哥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);

九州編程
TA貢獻1785條經驗 獲得超4個贊
我思路是,你先把日期取出來,array_column這樣就可以獲取到日期數組,然后根據日期數組去遍歷元數組獲取統計數據,所有數據需要跟日期的數組順序一致,然后json_encode返回給前端.

吃雞游戲
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);

撒科打諢
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 關注
- 588 瀏覽
添加回答
舉報
0/150
提交
取消