• 一、前言
  • 二、首先思考一个问题
  • 三、PHP中exit()与die()的区别
    • 1、PHP手册
    • 2、说明
    • 3、参考
  • 四、总结
    • 1、前言
    • 2、功能上
    • 3、运行方式
      • 1)、前言
      • 2)、脚本运行
      • 3)、网站运行
  • 五、相关博客

一、前言

本篇文章简要分析一下在php中经常用到的exit和die的区别,有需要的朋友可以看一下。

二、首先思考一个问题

如下代码会向页面显示什么?

die(123);

曾经有段时间我一直认为 页面会显示 123,但实践结果告诉我,答案错了,页面一片空白

  • 一直不知道为什么,死活不输出123,为了让页面输出123,我把它修改为如下代码:
echo '123';
die();

三、PHP中exit()与die()的区别

1、PHP手册

  • die():Equivalent to exit()。

2、说明

  • die()和exit()都是中止脚本执行函数;其实exit和die这两个名字指向的是同一个函数,die()是exit()函数的别名。该函数只接受一个参数,可以是一个程序返回的数值或是一个字符串,也可以不输入参数,结果没有返回值。

3、参考

虽然两者相同,但通常使用中也有细微的选择性。例如:

  • 当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字。
echo "1111";
exit(0);
echo "2222";  // 22222不会被输出,因为程序运行到exit(0)时,脚本已经被提前终止,“马上断气”。
  • 当程序出错时,可以给它传递一个字符串,它会原样输出在系统终端上,通常使用die()这个名字。
$fp=fopen("./readme.txt","r") or die("不能打开该文件");
// 这种情况下,如果fopen函数被调用返回布尔值false时,die()将立即终止脚本,并马上打印
// 传递给它的字符串,“死前还能说一两句话”。

四、总结

1、前言

回到前面这个话题,下面代码为什么不输出 123 到页面?

die(123);
// 或 exit(123);

2、功能上

  • die() 就等同于 exit();

3、运行方式

1)、前言

  • PHP有多种运行方式,即可网站形式,也可脚本形式(不需要Web服务器)。

2)、脚本运行

  • 当PHP为脚本形式运行时,建议用exit()
  • 比如说 Bash Shell脚本语言,当它要停止运行时,会用 exit()函数终止脚本,并允许输出点内容到运行环境(一般是存储到一个全局变量中),但输出的内容只能是 数字,表示命令的结束状态
  • 也就是说,exit(123)只是输出一种运行状态123,而不是真的要向控制台输出 123。如果要向控制台输出123,代码得改成如下形式:
exit('123');

3)、网站运行

  • 当PHP为网站形式运行时,建议用die()
  • 但此时 die(数字),就没啥意义,因为它不会向页面输出 数字 字符串,也就是说,如果想让页面终止并且输出数字的话,得改成如下形式
die('123');

五、相关博客

  • PHP 编写接口并在header中进行简单的校验
  • PHP 接口中echo die和return的区别

PHP exit()与die()的区别相关推荐

  1. PHP中exit()与die()的区别

    先思考一个问题: 如下代码会向页面显示什么? <?php die(123); ?> 曾经有段时间我一直认为 页面会显示 123,但实践结果告诉我,答案错了,页面一片空白! 一直不知道为什么 ...

  2. php 终止程序的方法——return、exit()、die()

    php中终止程序的运行有三种方式: return,主脚本程序中使用 exit(),脚本中使用 die(), 脚本中使用 三者所在的脚本文件他们之后的代码都不会执行了.php开发模式下想直接看到变量的值 ...

  3. PHP中终止程序输出的exit和die

    今天我们来看看如何终止程序,往往在项目开发中,你可能需要排查错误,这个时候,不希望后面的内容输出影响显示,可以用exit来进行程序的终止,也有die可以使用,而die在php官网上说语法结构等同于ex ...

  4. php exit 和die,PHP中的die()和exit()有什么区别?

    PHP中的die()和exit()函数有什么区别? 我认为两者都有相同的功能,但我怀疑两者有不同之处-它是什么? die()和exit()在其他语言中是不同的,但在php中,只需在.org/users ...

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

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

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

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

  7. linux中进程退出函数:exit()和_exit()的区别

    linux中进程退出函数:exit()和_exit()的区别 (1)_exit()执行后立即返回给内核,而exit()要先执行一些清除操作,然后将控制权交给内核. (2)调用_exit函数时,其会关闭 ...

  8. Shell 中 exit 和 return 的区别

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

  9. 【C语言】exit(0)与exit(1)有什么区别

    C语言中_exit(),exit(0)与exit(1)有什么区别? 今天天气有点冷,当我在写消息队列的程序的时候,遇到了结束进程的这个问题,突然脑海里有点混乱,我是用_exit(),还是用exit(1 ...

  10. shell脚本:exit 0 和 exit 1有什么区别?他们和return不同,return是关键字,exit是一个shell函数

    定义 exit 0 :正常运行程序并退出程序.使用echo $? 返回0,也就是说调用环境认为你的程序执行正常. exit 1 :非正常运行导致退出程序,也可以是其他数字.系统程序对于程序运行错误是有 ...

最新文章

  1. 【c语言】判断是否为友好数
  2. vscode 导入第三方jar包(添加外部JAR)
  3. 忘掉 Java 并发,先听完这个故事。。。
  4. C 读写php,C语言读取文件所有内容
  5. [转]使用gazebo中的building editor创建一个建筑环境并用于仿真
  6. CodeForces - 1341F Nastya and Time Machine(dfs+构造)
  7. 高德百度坐标系转换方法
  8. 上得写代码,下得作情诗,谁说程序员都是屌丝?
  9. C#调用谷歌翻译API
  10. AI教育甚嚣尘上,“松鼠”、“小猿”们能否重塑教育形态?
  11. python3 获取电脑上某个点的颜色RGB值
  12. 简要介绍各种键盘布局
  13. 利用Mono.Cecil动态修改程序集来破解商业组件
  14. Gym 100015 F Fighting for Triangles 博弈,状压dp
  15. 财经365零基础学投资:用江恩展望下半年股市
  16. 目标检测中的NMS,soft NMS,softer NMS,Weighted Boxes Fusion
  17. JS笔记 | JS中的strict model(严格模式)
  18. origin2021下载安装教程附文件
  19. 面向对象是什么鬼(OOP)
  20. 简介三种垃圾回收机制:分代复制垃圾回收,标记垃圾回收,增量垃圾回收

热门文章

  1. oracle字符串转日期比较大小写,【varchar】oracle中比较日期大小日期定义的是varchar2类型的......
  2. java treeset 删除_删除Java TreeSet中的最低元素
  3. python试卷管理系统的设计与实现_《数据结构》考试系统的设计与实现.doc
  4. 不容易系列之(3)—— LELE的RPG难题 (递推dp)
  5. 编程的一些小知识点总结
  6. 【知识蒸馏】Distilling the Knowledge in a Neural Network
  7. spring boot 中文文档_已献出膝盖!GitHub上的宝藏级SpringBoot核心文档,讲得太清晰了...
  8. linux usb拔出防止抖动,Linux 下监控USB设备拔插事件
  9. gis环境设置在哪_BIM与GIS如何融合应用?
  10. nginx 反向代理机制解决前端跨域问题