php json_encode值中大括号与花括号区别

phpjson_encode值中大括号与花括号区别1.当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串而当ar…

php json_encode值中大括号与花括号区别

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

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

$test = array()

$test[] = 1

$test[] = 1

$test[] = 1

echo json_encode($test)

结果:

[1,1,1]

$test = array()

$test[] = 1

$test[] = 1

$test[] = 1

unset($test[0])

echo json_encode($test)

结果:

{"1":1,"2":1}

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

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

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

版权声明:本站部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们,如若转载,请注明出处:http://phpff.com/2.html