php关联数组排序后,用json_encode输出给前端,为什么顺序会发生变化?

查看:286
本文介绍了php关联数组排序后,用json_encode输出给前端,为什么顺序会发生变化?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

php关联数组排序后,用json_encode输出给前端,为什么顺序会发生变化?
这是用file_put_contents函数写入到文件里的排序过的数组,顺序是对的。


这是用echo json_encode()输出到前台的数据,顺序发生了变化。

为什么呢?想不通啊,谁能解答一下。

解决方案

虽然php的数组有序,javascript或者说json标准中的Object是不保证顺序的,json库任意改变key都是符合标准的行为,任何特定实现中对key顺序的处理(保留/排序/乱序)都不应当被依赖

如果要保障顺序,建议修改数据结构用"array of object"实现

{
  cnt: [
    {id: "12", value:"1"},
    {id: "03", value:"1"},
    ...

这篇关于php关联数组排序后,用json_encode输出给前端,为什么顺序会发生变化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆