多维数组json_encode之后产生对象而不是数组问题

json_encode ,对于数字下标不连续下标的数组,会变编译json 对象。连续的下标数组会变异成js数组。这点要注意。不然编译出的数据,前端处理可能会出错。
> 索引数组时生成的是数组类型数据,关联数组时生成的是对象类型的数据,空数组返回的是数组类型。
```PHP
// 这样是数组
$arr = array(
0=>array('name'=>'张三','age'=>'120'),
1=>array('name'=>'李四','age'=>'111'),
2=>array('name'=>'王五','age'=>'233')
);
 
 
$res = json_encode($arr);
echo "<script>console.log('$res');</script>";
// 会变成object
$arr = array(
   0=>array('name'=>'张三','age'=>'120'),
   1=>array('name'=>'李四','age'=>'111'),
   2=>array('name'=>'王五','age'=>'233')
);
//unset后,不连续,json_encode会变异成对象,连续的会编译成数组
unset($arr[1]);
$res = json_encode($arr);
echo "<script>console.log('$res');</script>";
```
可以使用sort()来重新排序数组解决这个问题

版权声明:
作者:tianya
链接:https://tya.zone/p/74.html
来源:天涯博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
多维数组json_encode之后产生对象而不是数组问题
json_encode ,对于数字下标不连续下标的数组,会变编译json 对象。连续的下标数组会变异成js数组。这点要注意。不然编译出的数据,前端处理可能会出错。 >……
<<上一篇
下一篇>>