<分区>
我有一个关联数组
Array(
[289] => Array(
'name'=> 'One'
),
[292] => Array(
'name'=> 'One'
),
[290] => Array(
'name'=> 'One'
)
)
在我对这个数组使用 json_encode 之后。键已排序,尽管我将其作为 JSON 对象获取。
有什么办法可以防止这种行为?
<分区>
我有一个关联数组
Array(
[289] => Array(
'name'=> 'One'
),
[292] => Array(
'name'=> 'One'
),
[290] => Array(
'name'=> 'One'
)
)
在我对这个数组使用 json_encode 之后。键已排序,尽管我将其作为 JSON 对象获取。
有什么办法可以防止这种行为?
最佳答案
there is no standard that says it has to be in a certain order.
有关相关问题,请参阅:How do you stop Chrome and Opera sorting JSON objects by Index ASC?
注意:我们讨论的是 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>
关于php - 防止 json_encode 关联数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21216391/