本帖最后由 s.Bo 于 2012-9-11 16:08 编辑
1.当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串
而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串- $test = array();
- $test[] = 1;
- $test[] = 2;
- $test[] = 3;
- echo json_encode($test);
复制代码 结果:- $test = array();
- $test[] = 1;
- $test[] = 2;
- $test[] = 3;
- krsort($test);
- echo json_encode($test);
复制代码 结果:2.当字符串为这种模式时,json_decode默认解析出来的结果是一个数组,
当字符串为这种模式时,json_decode默认解析出来的结果是一个对象,此时可以设置它的第二个参数为true强制让它返回数组
3.由于php无法区分一维数组和二维数组,才会出现以上情况,因为使用json编码时推荐将第二个参数设置为true |