PHP 数组转json_encode,单个数组下标为了0时不对??


在 php 数组转json时,假如 有一个数组下标是顺序的,他json_encode后会直接变成一个简版二维json, $arr = ['1'=>1,'2'=>2]; echo (json_encode($arr)); //答案是 {"c":1,"b":2} 
这确实是正常的数组, 但是 如果是这样的数组 $arr = ['0'=>11,'1'=>22]; echo (json_encode($arr)); //[11,22]
是不是觉得很奇怪,为什么会是这样的? 为什么不是 {"0":11,"1":22} 这个看起来很不爽了,有强迫症,所以想翻了下手册 
 可以写成这样 echo (json_encode($arr,JSON_FORCE_OBJECT)); //{"0":11,"1":22} 
如果数组里有中文还可以这样 echo (json_encode($arr,JSON_FORCE_OBJECT|JSON_UNESCAPED_UNICODE)); 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM