我有一个关联数组
Array( [289] => Array( 'name'=> 'One' ), [292] => Array( 'name'=> 'One' ), [290] => Array( 'name'=> 'One' ) )
在我在此数组上使用json_encode之后。密钥已排序,尽管我将其作为JSON对象获取。
有办法防止这种行为吗?
没有任何标准表明必须按一定顺序进行。
注意:我们正在谈论的是PHP函数,但结果基本上是javascript,因此有关不存在的标准的声明也适用。
顺便说一句:我已经用以下代码对其进行了测试。PHP本身似乎并没有对数组进行排序,firefox也没有(根据firebug控制台)。
<pre> <?php $array = array(); $array[289] = array('name'=>'One'); $array[292] = array('name'=>'One'); $array[290] = array('name'=>'One'); print_r($array); $string = json_encode($array); print_r($string); ?> </pre> <script> var foo = <?=$string?>; console.log(foo); </script>