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

yipeiwu_com6年前PHP代码库

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

相关文章

PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码

有时候很实用在一些场合,留住备用吧 复制代码 代码如下:function is_mobile_request()       {&nbs...

基于PHP文件操作的详细诠释

复制代码 代码如下:$path1= "E:/myphp/text.txt";if(!file_exists($path1)){ echo "文件不存在!";}else{&nbs...

PHP排序算法系列之归并排序详解

归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得...

编写Smarty插件在模板中直接加载数据的详细介绍

之前使用smarty的时候,通常是在php程序端读取数据(一般从数据库),然后assign给模板的变量,才可以在前端使用这个变量。这样不是不好,只是数据多的时候php端的代码维护起来有点...

深入Nginx + PHP 缓存详解

Nginx缓存nginx有两种缓存机制:fastcgi_cache和proxy_cache下面我们来说说这两种缓存机制的区别吧proxy_cache作用是缓存后端服务器的内容,可能是任何...