我正在尝试使用highcharts绘制散点图。
Javascript代码:
<script type='text/javascript'>
\$(function () {
var chart;
\$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: '$div_id',
type: 'scatter',
zoomType: 'xy',
marginRight: 450,
marginBottom: 75
},
...
...
series: [{
name: 'name1',
data: $data
}]
});
});
});
</script>";
我的PHP代码:
$data_array4 = mysql_query("SELECT * from table", $link);
$ret1 = array();
while($item = mysql_fetch_array($data_array4)) {
$La = $item['L'];
$Ge = $item['G'];
$ret1[] = array($La,$Ge);
}
$data = json_encode($ret1);
我的数据如下:
data: [["0.457","0.02"],["0.464","0.02"],["0.469","0.01"],["0.469","0.01"]]
图表没有显示,因为双引号。 如何在不使用$ data = json_encode($ ret1,JSON_NUMERIC_CHECK)的情况下删除它们,我在PHP 5.2上,不能使用该参数。
谢谢!
答案 0 :(得分:1)
您可以使用floatval
$num = floatval("5.125");
http://us3.php.net/manual/en/function.floatval.php
您还可以在JavaScript中循环数组并使用parseFloat
...
var num = parseFloat("5.125");
答案 1 :(得分:1)
似乎你没有从评论中弄明白。但是,当然你需要将两个字符串转换为实数:
$La = (float) $item['L'];
$Ge = (float) $item['G'];
$ret1[] = array($La,$Ge);
否则结果列表将包含一个字符串和一个数字,从而产生JSON对象/地图而不是列表。
你的下一个问题:是的,花车是精确的,并不总是与原始的字符串表示一样短。