【发布时间】:2013-11-07 16:36:34
【问题描述】:
我正在通过 Ajax 调用创建一个多维数组以填充 Google 图表(列)。然而,返回的数组导致了这个错误:
Uncaught Error: Not a valid 2D array.
这是生成要发送回的数组的代码:
$chartData = array();
$i = 0;
foreach ($hourVal as $value) {
if($i <= 9){
$chartData[] = array(
"0" . $i => (int) $value
);
} else {
$chartData[] = array(
$i => (int) $value
);
}
$i++;
}
这是我 console.log 时的数组:
[
[
"Terms",
"Visits"
],
{
00: 88
},
{
01: 30
},
{
02: 44
},
{
03: 20
}
]
编辑:我在数组的开头添加一行,还有 json_encode:
array_unshift($chartData, array("Terms","Visits"));
echo json_encode($chartData);
任何想法发生了什么以及如何解决这个问题?
【问题讨论】:
-
你要
json_decode -
抱歉,是的。忘记补充了。现在会。
-
你为什么要
"0" . $i? -
因为我需要键是'01'、'02'、'03'等。
-
@MarkP:为什么?为什么需要这样的钥匙?这就是这里的问题。如果您将键设为
01、02等,那么json_encode会创建一个对象(因为它们不是数字键),从而使“不是有效的二维数组”。
标签: javascript php arrays