我正在尝试使用php在以下代码中的morris条形图中显示数据:
Morris.Bar({
element: 'bar-example',
data: [
{ <?php echo $graphData[0]; ?> },
{ <?php echo $graphData[1]; ?> },
{ <?php echo $graphData[2]; ?> },
{ <?php echo $graphData[3]; ?> },
{ <?php echo $graphData[4]; ?> },
{ <?php echo $graphData[5]; ?> },
{ <?php echo $graphData[6]; ?> }
],
xkey: 'y',
stacked: true,
ykeys: ['Spotify ','Apple '],
labels: ['Spotify ','Apple ']
});
问题在于,当我将回显的字符串直接复制并粘贴到数据字段中时,例如 - &gt; y:&#39; 2月&#39;,&#39; Spotify&#39;:9.99,图表显示数据。但是,当我允许php将此字符串回显到上述代码中的数据字段时,图形不会显示数据。不知道为什么。感谢您的帮助!
答案 0 :(得分:1)
你可以在php中创建数据数组,然后将数组转换为json
并在javascript中使用json:
$data = [
[ 'year'=> '2008', 'value'=> 20 ],
[ 'year'=> '2009', 'value'=> 10 ],
[ 'year'=> '2010', 'value'=> 5 ],
[ 'year'=> '2011', 'value'=> 5 ],
[ 'year'=> '2012', 'value'=> 20 ]
];
$jsonForUseInJavascript = json_encode($data);
然后在javascript中回显json并将其解析为数组:
Morris.Bar({
element: 'bar-example',
data: JSON.parse('<?php echo $jsonForUseInJavascript ?>'),
xkey: 'y',
stacked: true,
ykeys: ['Spotify ','Apple '],
labels: ['Spotify ','Apple ']
});