Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用json_编码进行Google图形显示_Javascript_Php_Arrays_Json_Echo - Fatal编程技术网

Javascript 使用json_编码进行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

我正在尝试将数据从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 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交叉