Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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 将构建数组的PHP代码转换为JS,现在highcharts不再';t工作-我做错了什么?_Javascript_Php_Highcharts - Fatal编程技术网

Javascript 将构建数组的PHP代码转换为JS,现在highcharts不再';t工作-我做错了什么?

Javascript 将构建数组的PHP代码转换为JS,现在highcharts不再';t工作-我做错了什么?,javascript,php,highcharts,Javascript,Php,Highcharts,所以我以前在我的JS中有一段PHP代码组成了这个字符串: <snip> series: [{ marker: { fillColor:'#66aaff' }, color: '#66aaff', name: 'Person 1', data: [{x:0, y: 12},{x:1, y: 16},{x:2, y: 18},{x:3, y: 14}] }, {

所以我以前在我的JS中有一段PHP代码组成了这个字符串:

<snip>
    series: [{
        marker: {
            fillColor:'#66aaff'
        },
        color: '#66aaff',
        name: 'Person 1',
        data: [{x:0, y: 12},{x:1, y: 16},{x:2, y: 18},{x:3, y: 14}]
    }, {
        marker: {
            fillColor:'#ff8888'
        },
        color: '#ff8888',
        name: 'Person 2',
        data: [{x:0, y: 26},{x:1, y: 17},{x:2, y: 22},{x:3, y: 17}]
    }]
<snip>
我没有收到JS错误,但我的图形显示不正确。序列名称图例显示正确,但x轴上仅放置了一个项目(而不是4个),并且未打印任何数据点

console.log(数据):

JS中的数据,我首先将其生成为一个适当的PHP数组(为了简洁起见,将其剪切为第一个指示符:

Object {154: Array[4], 156: Array[4], 307: Array[4], 994: Array[4]}
154: Array[4]
0: Object
x: "0"
y: "26.145225241042"
__proto__: Object
1: Object
x: "1"
y: "17.211534431451"
__proto__: Object
2: Object
x: "2"
y: "22.184885666481"
__proto__: Object
3: Object
x: "3"
y: "17.898072988406"
__proto__: Object
length: 4
__proto__: Array[0]

你的问题就在这里:

data: [data[aIDs[i]].join(',')]
返回您不需要的字符串。您可能需要:

data: data[aIDs[i]]
因为
数据[aIDs[i]
已经显示为数组

但是,由于它是一个字符串数组,因此还有最后一步:

data: data[aIDs[i]].map(JSON.parse)

这将解析
数据[aIDs[i]]
中的每个字符串,并生成
{x:number,y:number}
元素数组。

谢谢。我只是来编辑“我认为数据行可能是罪魁祸首”,你比我快。我已经做了更改,现在我正确地在x轴上得到了四个项目,但在图表上没有绘图。如此接近……你能
console.log(data[aIDs[I]])
?我只是在做,见上文。我想问题是我在php中构建了一个字符串,而不是数组。例如
“{x:3,y:0.62718142794101}”
Hm,所以它们实际上是字符串。我编辑了我的答案。@Codemonkey:请记住,只有字符串需要引号。因此,布尔、对象、数组等也不应该用引号括起来。
data: [data[aIDs[i]].join(',')]
data: data[aIDs[i]]
data: data[aIDs[i]].map(JSON.parse)