如何使用json_encode

我正在使用动态数据处理highcharts(从数据库中检索的值)。 通过编写查询,我能够从表中检索以下数据

Item 2011 2012 pen 5 7 pencil 4 20 eraser 6 43 

我想将以上信息存储在以下结构中并将其传递给另一个页面

 [{ name:'pen', data: [5,7]},{ name:'pencil', data: [4,20]},{ name:'eraser', data: [6,43]}]"; 

我想将上述数据推送到下钻高级图。

有没有办法以这种格式生成? 我尝试过使用json_encode但无法成功。 我可以使用json_encode实现这一点吗?

更新我试过这种方式

 while($row = mysql_fetch_assoc($result)) { $rows[]= $row; } echo json_encode($rows); 

得到了

 [{"Item":"pen","2011":"5","2012":"7"},{"Item":"pencil","2011":"4","2012":"20"},{"Item":"eraser","2011":"6","2012":"43"}] 

json_encode是一种将数组转换为JSON格式的便捷方法。 要获得您提供的输出,您将需要一个数组数组。 每个子数组都有“name”和“data”键,其中“name”是Item列,“data”是另一个包含2011和2012年值的数组。

 $results = mysql_query("..."); $arr = array(); while ($row = mysql_fetch_assoc($results)) { $name = $row['Item']; $data = array($row['2011'], $row['2012']); $arr[] = array('name' => $name, 'data' => $data); } echo json_encode($arr); 
  1. 循环遍历数据库结果并将结果放入数组中
  2. JSON编码数组