php中什么时候写echo,PHP写API接口的时候,什么时候用return,什么时候用echo???...

在日常的PHP项目代码编码的时候,return 和 echo 两个函数,是使用最多的基本函数,没有一个项目是不使用这两个函数的,这两个函数使用的方法是一样的,但是获得的结果稍有不同,今天就来看看这两个函数的使用方法和使用的地方。我们直接从项目中的代码来分析他倆的不同之处,这是一个APP的项目:api.ajax({

url: '接口url地址',

method: 'post',

data: {

}

}, function(ret,err) {

console.log(JSON.stringify(ret));

if(err){

console.log(JSON.stringify(err));

}

});

其实这段代码很简单,就是一个ajax的查询代码,向后台发送请求获取后台传送过来的数据,我们主要来看看后台的代码,在使用return和echo的区别在哪。//***************************

//  获取商品详情接口

//***************************

public function details(){

header('Content-type:text/html; Charset=utf8');

$pro_id = intval($_REQUEST['pro_id']);

$pro = M('product')->where('id='.intval($pro_id).' AND del=0 AND is_down=0')->find();

if(!$pro){

echo json_encode(array('status'=>0,'err'=>'商品不存在或已下架!'));

exit();

}

//$content = preg_replace("/width:.+?[\d]+px;/",'',$pro['content']);

$content = htmlspecialchars_decode($pro['content']);

echo json_encode(array('status'=>1,'content'=>$content));

exit();

}

这是一个简单后台查询接口并返回数据的正确代码,其中返回代码我们使用的是echo来输出一个json格式的字符串,下面是接口获取到的数据

def0326a22e56bacbf5325a550496701.png

但是同样的代码,我们仅仅把echo 变成 return的时候呢?获取到的数据就变成了NULL,这是为什么呢,其实很多在刚开始写api接口的程序员,大部分都遇到这个问题,很疑惑不知道为什么使用echo就可以获取数据,而使用return就获取不到呢,其实原因很简单,returan常常使用在服务器内部来获取别的函数返回的值,不用输出在页面上面,return是语言中函数或者方法所代表的值,跟变量一样,储存在内存中。而服务器与客户端交互时,无法读取服务器的内存系统,所以只能通过文本这样的方式来交换信息。

所以要echo一段文本给客户端,更简单的方式来理解就是 return是指返回值不产生输出,而echo不是可以直接输出在页面上。Ajax请求就可以理解为在访问一个页面一样只有输出了才看得见信息,不然是看不到信息的,而return只在服务器内部传输,看不见所以页面上没有返回信息也就是获取不到。所以在写PHP的API接口时候,记得返回数据使用echo而不要在使用return 了,不然是获取不到数据的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值