我正在尝试从php向Javascript / jQuery发送多维数组,但我遇到了问题。
当我通过json_encode($array);
发送索引0时,客户端会收到我想要的格式的响应:
[[0,0],[1,0.031410759078128],[2,0.062790519529313],[3,0.094108313318514].etc..]
当我用firebug检查时,发送的索引0数组似乎没有带到JSON?
当我发送数组的任何其他索引时,客户端以这种格式接收数组(我不想要):
{"1":[1,0.031410759078128],"2":[2,0.062790519529313],"3":[3,0.094108313318514].etc..}
当我检查客户端收到的数组时索引是否为0,我可以清楚地看到它是使用JSON发送的。
问题是什么,如何使用与我的数组[0]相同的格式发送所有索引数组?
这是我的PHP代码:
$strJEncoded = json_encode($array);
echo $strJEncoded;
这是我的JS / Jquery代码:
$res = jQuery.parseJSON(response);
答案 0 :(得分:2)
默认情况下,如果数组索引是从json_encode()
开始的连续数字,0
将只生成JSON数组。否则,它会生成一个JSON对象。
您可以使用array_values()
返回一个数组,其中的索引从0
重新编号。
$strJEncoded = json_encode(array_values($array));