A-A+
php 数组 转 json 下标问题
上面2个数组 一个有下标为0的元素 一个没有。
- $arr=array(0=>11,1=>12,2=>13);
- $arrb=array(1=>12,2=>13);
- echo json_encode($arr);
- echo json_encode($arrb);
分别输出:
- [11,12,13]
- {"1":12,"2":13}
为什么 第一个下标含0的数组 输出json之后,下标就不见了?而第二个数组 没有0就有下标,请问,如何在第一个数组有0的情况下 输出json 含下标 原样输出!
可以通过json_encode的第二个参数实现,但php版本需要大于5.3.0
- echo json_encode(array(0=>10,1=>11,2=>12), JSON_FORCE_OBJECT);//{"0":10,"1":11,"2":12}
你要的是这个吧?注意json_encode的第2个参数:JSON_FORCE_OBJECT