最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php中json 序列化为 [] 的弊端
时间:2026-09-22 13:20:01 编辑:袖梨 来源:一聚教程网
解决方法一:[推荐]
$arr = [ 'choices' => [], 'answers' => new ArrayObject([])];$jsonRet = json_encode($arr);print_r($jsonRet);
使用 ArrayObject 还可以像数组一样操作数据,方便很多
解决方法二:
$ret2 = [ 'choices' => [], 'answers' => (object) [],];
但是这样就带来一个问题,如果answers不是写死的,而是某个API的返回值,你并不确定它是不是会返回空的,它也没有义务帮你cast成object,因为JSON序列化是跟前端交互的事情,不应该放到后端service层面解决。那么你只能自己动手了,手动把返回值中可能出现空map的地方,全部强制转换一遍。
PHP的关联数组的确很强大,算法设计的也不错,性能也很好,但是它不是没有代价的,上面的例子算是其中一个。如果PHP也像其它语言一样,区分map和list,可能会省事一些,毕竟区分{}和[],对程序员来说并不会增加很多学习成本。
到此这篇关于php中json 序列化为 [] 的弊端的文章就介绍到这了,更多相关json 序列化为 [] 的弊端内容请搜索一聚教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持一聚教程网!