加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 防止json_encode关联数组排序

发布时间:2020-12-13 13:23:16 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 json_encode not preserving order2个 我有一个关联数组 Array( [289] = Array( 'name'= 'One' ),[292] = Array( 'name'= 'One' ),[290] = Array( 'name'= 'One' )) 我在这个数组上使用json_encode后.键被排序,虽然我把它作为JSON对象. 有办法
参见英文答案 > json_encode not preserving order2个
我有一个关联数组
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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读