• 一、场景
  • 二、比较
    • 1、对比 return 和 echo 的区别
      • 1)、原文地址
      • 2)、区别
    • 2、php接口返回数据 用echo 还是return?
      • 1)、原文地址
      • 2)、内容
    • 3、php的echo 和 return的区别
      • 1)、原文地址
      • 2)、内容
  • 三、相关博文

一、场景

  • PHP编写接口代码
public function test() {/*** TODO...*/$result = ['data' => '返回的数据','message' => '消息提示','code' => 1];$result = json_encode($result, JSON_UNESCAPED_UNICODE);//方式1:return返回//return $result;//方式2:直接die返回//die($result);//方式3:先输出,再die (相当于方式2)echo $result;die();//建议使用方式2,代码清晰不臃肿}

二、比较

1、对比 return 和 echo 的区别

1)、原文地址

  • php中echo和return的区别

2)、区别

其实也相当于对比 return 和 die(‘string’) 的区别

  • echo是输出字符串到浏览器,return是终止后面代码的执行并返回一个值
  • PHP用return浏览器和javascript用echo

2、php接口返回数据 用echo 还是return?

1)、原文地址

  • php接口返回数据 用echo 还是return?

2)、内容

  • 今天在ci框架中用 return 返回 josn_encode数据 给前台ajax ,前台获取始终为空。(原生php return也为空)
  • 改为echo后就可以获取到。本人之前用tp的时候一直用return就能获取到
  • 最终看了别人的一些ci代码 这种情况也是用的echo
  • return 作为函数返回值或结束语句,是返回的数据的指针,也就是数据存放的地址,而接口需要返回的是真实的数据,
  • 因为前后端使用的是不同的内存系统,所以无法根据地址找到相应的数据,而echo print_r var_dump等这些能够在浏览器中打印数据的函数都是基于http协议传输的真是数据,所以在前端是可以获取和判断的.
  • Ajax获取返回值是使用HTTP请求。 return不会产生输出(只在server端进行)而echo可以(从server -> brower,http协议)。Ajax请求的url其实就是一个页面,它可以在浏览器显示,而 php中以return返回数据只是在服务器端去返回这些数据。
    综上所述,如果ajax 地址是一个PHP return,将不会获取到正确数据。
  • 需要注意的是,在tp框架中,return关键字的确是可以给返回数据的,也就是可以作为接口返回数据关键字的,但是用原生的php是不行的,这应该是tp框架内部做过处理了吧!可以去看下tp的源码!

3、php的echo 和 return的区别

1)、原文地址

  • php的echo 和 return的区别

2)、内容

项目中碰到的问题,本来是想在控制器直接return xml的(xml的(xml的(xml是一段xml格式的代码),但是测试却发现什么都没有输出。换成echo $xml;就成功了,所以特地百度了一下

  • 1、从关键词意思上看:

    • echo 是输出字符串到浏览器
    • return主要是用于函数,返回一个值
  • 2、echo 主要用于:php对浏览器的输出;
    • return主要用于处理函数的返回值
  • 3、在大多数情况下,echo 和return的结果都是一样的。但如果出现函数嵌套或者函数比较多的情况,
    • echo会无效或者发生错误。所以处理函数的返回或者输出还是用return好。
  • 4、比如我项目中碰到的这个问题,因为要在浏览器输出内容,所以用echo比较合适。如果是需要一个可以被其它函数调用的返回值的话,建议还是用return.

三、相关博文

  • PHP 编写接口并在header中进行简单的校验
  • PHP exit()与die()的区别

PHP 接口中echo die和return的区别相关推荐

  1. php终止脚本执行(exit、die、return)

    终止php的脚本执行,我们可以使用exit,die,return 0x01 exit和die, 当程序运行到他们时,直接退出程序,不在运行 <?phpheader('content-type:t ...

  2. linux脚本中的exit,Shell中exit和return的区别讲解

    1.exit命令 exit命令是Shell内建命令,用于退出当前Shell进程.使用格式如下: exit [] 可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常退出,非零表示异常退 ...

  3. echo * 和ls *之间的区别?

    背景描述: 今天 一同事做入职考试,涉及到1题目,echo * 和ls *之间的区别,没有用过这个用法,再次记录下. 操作过程: 1.执行echo * [root@localhost ~]# echo ...

  4. Linux编程中的坑——C++中exit和return的区别

    今天遇到一个坑,折腾了一天才把这个坑填上,情况是这样的: 写了段代码,在main()函数中创建一个分离线程,结果这个线程什么都没干就直接挂掉了,代码长这样: [cpp] view plaincopy ...

  5. break、continue、return的区别

    break.continue.return的区别 break:表示中断,可以在switch case中或循环中 使用   当遇到break 则结束当前整个switch case 或 循环 contin ...

  6. JavaScript 中,break , continue , return 的区别

    break , continue , return 的区别 break :结束当前的循环体(如 for.while) continue :跳出本次循环,继续执行下次循环(如 for.while) re ...

  7. Shell 中 exit 和 return 的区别

    1.exit 命令 exit 命令是 Shell 内建命令,用于退出当前 Shell 进程.使用格式如下: exit [N] 可以指定退出状态 N,N 的取值范围是 0-255,一般情况下,0 表示正 ...

  8. 在Linux中,_exit()、exit(0)、exit(1)、和return的区别!!

    功能: _exit() :退出程序: exit(0):运行正常退出程序: exit(1):运行异常退出程序: return():返回函数,若在主函数中,则会退出函数并返回值. _exit() 和 ex ...

  9. 小陈学JS return语句+break,continue,return的区别

    return语句 1)语法格式: 1.我们函数只是实现某种功能,最终的结果需要返回给函数的调用者   :函数名(),通过return实现的 2.只要函数遇到return就把后面你的结果 返回给函数的调 ...

  10. C语言中的exit与return的区别

    exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 exit(0)表示进程正常退出. 返回 0; exit(1)表示进程非正常退出. 返回 1. exit与return ...

最新文章

  1. 搜集《ASP.NET中常用的26个优化性能方法》
  2. PHP遍历用blade标签表示,php-Laravel Blade {{$variable或’Default Text’}}无法使用网址
  3. python工程师薪资坑吗-最新Python面试经验总结,避免采坑的进来
  4. asp.net使用httphandler打包多CSS或JS文件以加快页面加载速度
  5. 小样本学习 | Learning to Compare: Relation Network for Few-Shot Learning
  6. 雪儿--北京欢迎你!!!
  7. Visual Basic .NET处理Excle表格全接触
  8. makefile 打印变量_通过实例学Makefile
  9. tp auth 转载保存
  10. 一起谈.NET技术,ASP.NET MVC 通过 FileResult 向浏览器发送文件
  11. redis 经纬度_Redis 中的 GEO(地理信息)类型
  12. Identityserver4配置证书
  13. bex5 3.7版本
  14. 2008 r2 server sql 中文版补丁_sql2008 sp3补丁下载-sql server 2008补丁包sp3中文版补丁【32/64位】-东坡下载...
  15. PHP爬虫框架phpspider(二) - 分页爬取写入数据库
  16. android备忘录的开发总结报告,android备忘录
  17. 计算机进入低能耗休眠状态,BIOS电源管理ACPI的D3cold-D3hot
  18. mysql 级联复制
  19. Linux红帽8.2系统中引导过程及引导修复
  20. TCP/UDP/IP/Socket的定义

热门文章

  1. 2005/2010/2015-2021年全国兴趣点POI数据
  2. java1.7环境_java1.7环境变量设置
  3. java 权重_java的权重匹配算法技术?
  4. 微型计算机地基本结构,微型计算机地基本结构.ppt
  5. nfc卡模式与标准模式_马苏开启年后减肥模式,素颜自拍打卡,皮肤光滑香汗淋漓惹人注目...
  6. html选择符分几类,css的选择符有哪些?
  7. 小程序php没执行完,解决微信小程序 app onLaunch异步请求,在没有请求执行完就加载首页了的问题...
  8. 存用部首查字典如何查_SCI文献阅读技巧:3位博士总结如何看文献,干货满满!...
  9. tp3.2 URL模式
  10. 【hdu 4658】Integer Partition (无序分拆数、五边形数定理)