Javascript 使用json_编码进行Google图形显示
我正在尝试将数据从PHP数组导入JS google线形图。。。一旦我能想出如何Javascript 使用json_编码进行Google图形显示,javascript,php,arrays,json,echo,Javascript,Php,Arrays,Json,Echo,我正在尝试将数据从PHP数组导入JS google线形图。。。一旦我能想出如何回显结果,我就能完成它。结果是这样的: data.addRows([ [new Date(2014, 0), -.5, 5.7], [new Date(2014, 1), .4, 8.7], [new Date(2014, 2), .5, 12], [new Date(2014, 3), 2.9, 15.3], [new
回显结果,我就能完成它。结果是这样的:
data.addRows([
[new Date(2014, 0), -.5, 5.7],
[new Date(2014, 1), .4, 8.7],
[new Date(2014, 2), .5, 12],
[new Date(2014, 3), 2.9, 15.3],
[new Date(2014, 4), 6.3, 18.6],
[new Date(2014, 5), 9, 20.9],
[new Date(2014, 6), 10.6, 19.8],
[new Date(2014, 7), 10.3, 16.6],
[new Date(2014, 8), 7.4, 13.3],
[new Date(2014, 9), 4.4, 9.9],
[new Date(2014, 10), 1.1, 6.6],
[new Date(2014, 11), -.2, 4.5]
]);
$data = array("[new Date(2014, 0), -.5, 5.7],', '[new Date(2014, 1), .4, 8.7],");
json_encode($data);
data.addRows([
<?
echo str_replace('"', '', json_encode($data));
?>
]);
我目前正在使用JSON\u ENCODE
处理如下数组:
data.addRows([
[new Date(2014, 0), -.5, 5.7],
[new Date(2014, 1), .4, 8.7],
[new Date(2014, 2), .5, 12],
[new Date(2014, 3), 2.9, 15.3],
[new Date(2014, 4), 6.3, 18.6],
[new Date(2014, 5), 9, 20.9],
[new Date(2014, 6), 10.6, 19.8],
[new Date(2014, 7), 10.3, 16.6],
[new Date(2014, 8), 7.4, 13.3],
[new Date(2014, 9), 4.4, 9.9],
[new Date(2014, 10), 1.1, 6.6],
[new Date(2014, 11), -.2, 4.5]
]);
$data = array("[new Date(2014, 0), -.5, 5.7],', '[new Date(2014, 1), .4, 8.7],");
json_encode($data);
data.addRows([
<?
echo str_replace('"', '', json_encode($data));
?>
]);
我最终将能够使用它从我的数据库中提取数据,我正试图像这样回应结果:
data.addRows([
[new Date(2014, 0), -.5, 5.7],
[new Date(2014, 1), .4, 8.7],
[new Date(2014, 2), .5, 12],
[new Date(2014, 3), 2.9, 15.3],
[new Date(2014, 4), 6.3, 18.6],
[new Date(2014, 5), 9, 20.9],
[new Date(2014, 6), 10.6, 19.8],
[new Date(2014, 7), 10.3, 16.6],
[new Date(2014, 8), 7.4, 13.3],
[new Date(2014, 9), 4.4, 9.9],
[new Date(2014, 10), 1.1, 6.6],
[new Date(2014, 11), -.2, 4.5]
]);
$data = array("[new Date(2014, 0), -.5, 5.7],', '[new Date(2014, 1), .4, 8.7],");
json_encode($data);
data.addRows([
<?
echo str_replace('"', '', json_encode($data));
?>
]);
data.addRows([
您应该输出时间戳,可能以毫秒为单位,因为Javascript支持时间戳
<?php
$data = array(
array(
mktime(0, 0, 0, 1, 1, 2014) * 1000,
-0.5,
5.7
),
array(
mktime(0, 0, 0, 2, 1, 2014) * 1000,
0.4,
8.7
)
);
?>
现在您只需回显它,它就会神奇地变成一个由数组组成的javascript数组
data.addRows(<? echo json_encode($data); ?>);
data.addRows();
大多数插件都会接受时间戳,如果出于某种原因你必须有日期对象,你可以这样做
var result = <? echo json_encode($data); ?>;
result.forEach(function(arr) {
arr[0] = new Date(arr[0]);
});
data.addRows(result);
var结果=;
结果.forEach(函数(arr){
arr[0]=新日期(arr[0]);
});
data.addRows(结果);
首先,在你当前的代码中,JSONYNEnCODE绝对没有任何用处,但是在整个字符串中添加了额外的括号。第二,你在字符串中间有一些奇怪的符号,也不明白为什么你要把这个句子放在一个数组中。
现在,假设您输入了一个拼写错误,数组如下所示:
$data = array("[new Date(2014, 0), -.5, 5.7]", "[new Date(2014, 1), .4, 8.7]");
对你来说,简单地循环通过它会容易得多
foreach($data as $value){
echo $value.",";
}
为什么要删除所有的引号,这使得Javascript无效?另外,为什么要回显来自PHP的函数调用,只获取服务器上的时间戳?您不能在JSON中使用Date
对象(除非它们首先用PHP初始化并序列化为字符串),事实上,你只能在JSON内部使用普通对象。我在这里真的搞砸了,不是吗?哈哈,这些是我在搜索答案时遇到的代码片段,我很少使用这种编码,所以不知道如何将PHP与JS交叉