【PHP】tp5 开发接口,怎么输出 json 数据

杨成功
  • 2.5k

现有 PHP 数组如下:

$arr = array(
    'name'=> '李四',
    'sex'=> '女'
);

控制器里要输出 json 数据,通常是用return方法:

return json($arr);

但是现在我的控制器a要继承一个公共控制器b,假设公共控制器 b 有test()方法,在这个方法里要输出 json 数据,如:return json($arr);

我现在要在控制器 a 里调 test() 方法,这时候return 就不会输出数据,只是返回数据

如果要在 test() 方法里输出 json 数据,怎么写?

回复
阅读 15.5k
5 个回答

echo json_encode($arr);

TP3可以使用thinkphp内置的方法 $this->ajaxReturn($data); 不用return。TP5可以用$this->response();返回json数据。

tp5里面有个助手函数json(),直接return json($array)就可以了

fanshu19
  • 4
新手上路,请多包涵

a调用b->test(),想在b->test()直接输出是不可能的。php会先在a得到b的返回值。除非你直接b->test()函数里面直接exit,不然不可能实现

album2
  • 2
新手上路,请多包涵

response::create(['error'=>'asdasdasd'], 'json')->send();
这样应该行,但是感觉别扭,请加我qq讨论,1160946336

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏