通过ajax,index [0]问题发送多维数组

时间:2016-09-07 22:59:28

标签: javascript php jquery arrays json

我正在尝试从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);

1 个答案:

答案 0 :(得分:2)

默认情况下,如果数组索引是从json_encode()开始的连续数字,0将只生成JSON数组。否则,它会生成一个JSON对象。

您可以使用array_values()返回一个数组,其中的索引从0重新编号。

$strJEncoded = json_encode(array_values($array));