Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196438
  • 博文数量: 63
  • 博客积分: 1002
  • 博客等级: 准尉
  • 技术积分: 640
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-11 20:34
文章分类

全部博文(63)

文章存档

2017年(2)

2015年(3)

2013年(4)

2012年(21)

2011年(33)

分类: 系统运维

2012-07-11 14:50:20

1.当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串

而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串

$test = array(); $test[] = 1; $test[] = 1; $test[] = 1; DEBUG(json_encode($test));
结果:[1,1,1]
$test = array(); $test[] = 1; $test[] = 1; $test[] = 1; unset($test[0]); DEBUG(json_encode($test));
结果:
{"1":1,"2":1}

2.当字符串为[1,1,1] 这种模式时,json_decode默认解析出来的结果是一个数组,

当字符串为{"1":1,"2":1} 这种模式时,json_decode默认解析出来的结果是一个对象,此时可以设置它的第二个参数为true强制让它返回数组

 

3.由于php无法区分一维数组和二维数组,才会出现以上情况,因为使用json编码时推荐将第二个参数设置为true

阅读(874) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~