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

前端之家收集整理的这篇文章主要介绍了php json_encode值中大括号与花括号区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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


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


@H
301_0@<div class="codetitle"><a style="CURSOR: pointer" data="61681" class="copybut" id="copybut61681" onclick="doCopy('code61681')"> 代码如下:
<div class="codebody" id="code61681">
$test = array();
$test[] = 1;
$test[] = 1;
$test[] = 1;
echo jsonencode($test);


@H
3010@结果:


@H
3010@[1,1,1]


@H
301_0@<div class="codetitle"><a style="CURSOR: pointer" data="53395" class="copybut" id="copybut53395" onclick="doCopy('code53395')"> 代码如下:
<div class="codebody" id="code53395">
$test = array();
$test[] = 1;
$test[] = 1;
$test[] = 1;
unset($test[0]);
echo jsonencode($test);


@H
3010@结果:


@H
3010@{"1":1,"2":1}


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


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


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

原文链接:https://www.f2er.com/php/25618.html

猜你在找的PHP相关文章