php做为接口返回数据问题

php中文网
发布: 2016-06-23 13:45:59
原创
2477人浏览过

php做为接口返回数据问题
有数据的时候返回的是{"status":"0","message":"\u9a8c\u8bc1\u7801\u9519\u8bef","data":{"a":"1"}},其中data里的是数组$result,如果$result为空的话,$result = array();   输出{"status":"0","message":"\u9a8c\u8bc1\u7801\u9519\u8bef","data":[]},返回的data就是中括号了,如何把data换成大括号,{"status":"0","message":"\u9a8c\u8bc1\u7801\u9519\u8bef","data":{}}这种形式呢?

AI建筑知识问答
AI建筑知识问答

用人工智能ChatGPT帮你解答所有建筑问题

AI建筑知识问答 22
查看详情 AI建筑知识问答

回复讨论(解决方案)

一般没有必要,不然得重新写过了

一般没有必要,不然得重新写过了


没办法,前端IOS和安卓催的紧,非得要求这种格式

返回时是这样的
echo json_encode($array);
你改成这样的
echo str_replace('[]', '{}', json_encode($array));

用JSON_FORCE_OBJECT参数即可

<?php$a=array();var_dump(json_encode($a,JSON_FORCE_OBJECT));$a=array(1,2,3);var_dump(json_encode($a,JSON_FORCE_OBJECT));$a=array("ret"=>0);var_dump(json_encode($a,JSON_FORCE_OBJECT));
登录后复制



string(2) "{}"string(19) "{"0":1,"1":2,"2":3}"string(9) "{"ret":0}"
登录后复制



JSON_FORCE_OBJECT (integer)  
使一个非关联数组输出一个类(Object)而非数组。 在数组为空而接受者需要一个类(Object)的时候尤其有用。 自 PHP 5.3.0 起生效。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号