写php API写的很少,最近才开始接口的写法,在框架里面一直用return,但是在api中retrun就失效了,为什么呢?
网友给出的答案:
1.return 一般用于函数或方法的返回。
echo 才是输出(也就是显示)
如果你不输出,api有何作用。
2.return只能在php内部使用
对外,你要给别人解析,你就理解成输出,用echo
3.当然是echo了,如果是json最好加上header标识
$ret = array(
'name' => 'fdipzone'
);
header('content-type:application/json;charset=utf8');
echo json_encode($ret);?>
为什么给app写接口时,要用echo 返回 json数据?
1.给 app写接口时,要用 echo json_encode() 来返回数据,但是PHP自身调用却用 return json_encode();
rerurn是语言中函数或者方法所代表的值,跟变量一样,储存在内存中。return是给其他代码块一个指针或者引用。
而服务器与app(客户端)交互时,他们无法读取同一个内存系统,只能通过文本这样的方式来交换信息。
所以要echo一段文本(json)给客户端。
php惯用的输出流方式就是echo,如果你钟情于return输出,可以自创一门语言来实现。
2.我是这么理解的,不