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


sending multidimensional array via ajax, index[0] problems

我试图从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);

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

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

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