遇到一个转数据json超级奇怪的问题

Evient 2018-03-02 04:49:23
一组数组转成json问题。 json_encode前我打印出来。 确定都是数组。 但是json_encode之后会变成一个对象???

真的日了狗了。 测试了很多数据,遇到的几率超级细微。 但是只要遇上这问题APP会直接崩溃。

现在解决方法是使用 json_encode() 前进行一次数组排序。这样就正常。

这到底是什么原因... 想破头了

这是正常情况


错误的情况,数组索引变成key
...全文
922 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Evient 2018-04-09
  • 打赏
  • 举报
回复
引用 5 楼 qq_33636325 的回复:
看看后面所有的数据是不是后面不是完全按照索引数组 0,1,2,3,……这样的顺序排的 ,如果出现一个不是按照索引数组的顺序的键,就会变成关联数组了。比如键为0,1,2,3,5这种转出来就会变成你所说的这种有问题的情况。
有道理 , 应该是数据没处理好的问题. 但是我很难复现出来. 不管了 结帖
yaofare 2018-03-19
  • 打赏
  • 举报
回复
用json_encode(array_values($arr));
qq_39047451 2018-03-19
  • 打赏
  • 举报
回复
引用 5 楼 qq_33636325 的回复:
看看后面所有的数据是不是后面不是完全按照索引数组 0,1,2,3,……这样的顺序排的 ,如果出现一个不是按照索引数组的顺序的键,就会变成关联数组了。比如键为0,1,2,3,5这种转出来就会变成你所说的这种有问题的情况。
有道理,很可能是这个原因
光头小码农 2018-03-19
  • 打赏
  • 举报
回复
看看后面所有的数据是不是后面不是完全按照索引数组 0,1,2,3,……这样的顺序排的 ,如果出现一个不是按照索引数组的顺序的键,就会变成关联数组了。比如键为0,1,2,3,5这种转出来就会变成你所说的这种有问题的情况。
xuzuning 2018-03-02
  • 打赏
  • 举报
回复
json_encode 只对连续的下标数组编码成数组形式 其实这并不影响 js 解析 因为一般都用 for(in) 循环而不是 for(;;) 循环
qq_39047451 2018-03-02
  • 打赏
  • 举报
回复
这个情况我感觉是数据问题,在生成的数组,里面值和key都用单引号试试
sali_ax 2018-03-02
  • 打赏
  • 举报
回复
json_decode 第二个参数设置为true,就能输出数组了

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧