我想寫這將我的數組轉換到JSON數據莫里斯面積圖的原始數組從數據庫中抽取要使用的功能是波紋管:PHP:如何從這個數組創建一個Morris Area圖表?
Array
(
[0] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 0
)
[1] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 0
)
[2] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 0
)
[3] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 0
)
[4] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 0
)
[5] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 0
)
[6] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 0
)
[7] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 1
)
[8] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 1
)
[9] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 1
)
[10] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 1
)
[11] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 0
)
[12] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 0
)
[13] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 1
)
[14] => Array
(
[tracking_date] => 2015-08-29
[tracking_isbot] => 1
)
[15] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[16] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[17] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[18] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[19] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[20] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[21] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[22] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[23] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[24] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[25] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[26] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 1
)
[27] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 1
)
[28] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 1
)
[29] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[30] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[31] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[32] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[33] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 1
)
[34] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[35] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[36] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 1
)
[37] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 0
)
[38] => Array
(
[tracking_date] => 2015-08-30
[tracking_isbot] => 1
)
[39] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[40] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[41] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[42] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[43] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[44] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[45] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[46] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[47] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[48] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[49] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[50] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[51] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[52] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[53] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[54] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[55] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[56] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[57] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[58] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[59] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[60] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[61] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[62] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[63] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[64] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[65] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[66] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[67] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[68] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[69] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[70] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[71] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[72] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[73] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[74] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[75] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[76] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 0
)
[77] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
[78] => Array
(
[tracking_date] => 2015-08-31
[tracking_isbot] => 1
)
)
最終的JSON輸出應可考慮如下:
{ date: '2015-08-29', human: 9, bots: 6 },
{ date: '2015-08-30', human: 18, bots: 6 },
{ date: '2015-08-31', human: 26, bots: 14 }
從原來的數組:
[date] => xxxx-xx-xx as date:'xxxx-xx-xx'
[isbot] => 0 should be counted as hits from human and
[isbot] => 1 should be counted as hits from bots.
我創造了這個功能,但無法返回數據在所需的格式:
function chartData($results) {
$data = array();
foreach($results as $index => $result) {
if($result['tracking_isbot'] == 1) {
if(isset($data[$result['tracking_date']]['bots'])) {
$data[$result['tracking_date']]['bots'] += 1;
} else {
$data[$result['tracking_date']]['bots'] = 1;
}
} else {
if(isset($data[$result['tracking_date']]['human'])) {
$data[$result['tracking_date']]['human'] += 1;
} else {
$data[$result['tracking_date']]['human'] = 1;
}
}
}
return $data;
}
上述函數返回下面陣列JSON編碼之前:上述陣列的
Array
(
[2015-08-29] => Array
(
[human] => 9
[bots] => 6
)
[2015-08-30] => Array
(
[human] => 18
[bots] => 6
)
[2015-08-31] => Array
(
[human] => 26
[bots] => 14
)
)
json_encode():
{"2015-08-29":{"human":9,"bots":6},"2015-08-30":{"human":18,"bots":6},"2015-08-31":{"human":26,"bots":14}}
它也許更簡單的接收sql查詢 – splash58
您是否嘗試過的東西這個信息?如果是這樣,請將其包含在您的問題中。 – Epodax