一次灵异的数据排序问题

测试同学反馈说数据没有做排序,检查了下代码发现没有指定排序字段。
赶紧在PHP代码里加上,前端刷新后发现顺序还是不对,。
一开始以为是代码没传到测试环境导致,上测试环境上检查了下对应文件,代码已经更新了。

输出结果类似:

{
    "1002": {
        "xx": "xxxx", 
        "yy": "yyyy"
    }, 
    "1000": {
        "a": "aaa", 
        "b": "bbb"
    }
}

突然想到之前项目组同事说过js的排序问题,感觉是js自动做了排序。
跟同事确认了下,js会对带数字key的数组进行自动排序。

于是把PHP输出的数据结构改成没有key的就可以了,最终输出结果类似:

[
    {
        "xx": "xxxx", 
        "yy": "yyyy"
    }, 
    {
        "a": "aaa", 
        "b": "bbb"
    }
]

标签: PHP

添加新评论