A-A+

php 数组 转 json 下标问题

2020年12月14日 PHP技术文章 暂无评论 阅读 0 views 次

上面2个数组 一个有下标为0的元素 一个没有。

  1. $arr=array(0=>11,1=>12,2=>13);  
  2. $arrb=array(1=>12,2=>13);  
  3. echo json_encode($arr);  
  4. echo json_encode($arrb);  

分别输出:

  1. [11,12,13]  
  2. {"1":12,"2":13}  

为什么 第一个下标含0的数组 输出json之后,下标就不见了?而第二个数组 没有0就有下标,请问,如何在第一个数组有0的情况下 输出json 含下标 原样输出!

可以通过json_encode的第二个参数实现,但php版本需要大于5.3.0

  1. 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

标签:

给我留言