热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

防止json_encode关联数组排序[重复]-Preventjson_encodeassociativearraysorting[duplicate]

Thisquestionalreadyhasananswerhere:这个问题在这里已有答案:json_encodenotpreservingorder

This question already has an answer here:

这个问题在这里已有答案:

  • json_encode not preserving order 2 answers
  • json_encode不保留2阶的答案

I have a associative array

我有一个关联数组

Array(
   [289] => Array(
    'name'=> 'One'
   ),
   [292] => Array(
    'name'=> 'One'
   ),
   [290] => Array(
    'name'=> 'One'
   )
)

After i use json_encode on this array. The keys are sorted, although i get it as JSON object.

我在这个数组上使用json_encode后。键被排序,虽然我把它作为JSON对象。

Is there way to prevent this behaviour?

有办法防止这种行为吗?

2 个解决方案

#1


5  

there is no standard that says it has to be in a certain order.

没有标准说它必须按照一定的顺序。

See this for a related question: How do you stop Chrome and Opera sorting JSON objects by Index ASC?

请参阅此相关问题:如何通过Index ASC阻止Chrome和Opera对JSON对象进行排序?

note: we're talking about a PHP function, but the result is basically Javascript, so the statement about the non-existing standard applies as well.

注意:我们正在谈论PHP函数,但结果基本上是Javascript,因此关于不存在的标准的声明也适用。

btw: I have tested it with the following code. PHP itself doesnt seem to sort the array, firefox doesn't as well (according to the firebug console).

顺便说一句:我用以下代码测试了它。 PHP本身似乎没有对数组进行排序,firefox也不如此(根据firebug控制台)。

'One');
    $array[292] = array('name'=>'One');
    $array[290] = array('name'=>'One');
    print_r($array);
    $string = json_encode($array);
    print_r($string);
?>

#2


-3  

Try this:

尝试这个:

    $ar = array();
    $ar[1] = array('1'=>'one');
    $ar[2] = array('2'=>'two');
    $ar[3] = array('3'=>'three');
    print_r($ar);
    $str= json_encode($ar);
    print_r($str);

it should work, at-least helps me !

它应该工作,至少帮助我!


推荐阅读
author-avatar
你的拥吻像情歌一样凄美_207
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有