本篇文章简要分析一下在 php 中经常用到的 exit 和 die 的区别, 有需要的朋友可以看一下
首先思考一个问题:
如下代码会向页面显示什么?
曾经有段时间我一直认为 页面会显示 123, 但实践结果告诉我, 答案错了, 页面一片空白!
一直不知道为什么, 死活不输出 123, 为了让页面输出 123, 我把它修改为如下代码:
查看代码打印
网上的一段资料:
PHP 手册: die()Equivalent to exit()
说明: die() 和 exit() 都是中止脚本执行函数; 其实 exit 和 die 这两个名字指向的是同一个函数, die() 是 exit() 函数的别名该函数只接受一个参数, 可以是一个程序返回的数值或是一个字符串, 也可以不输入参数, 结果没有返回值
参考: 虽然两者相同, 但通常使用中也有细微的选择性例如:
当传递给 exit 和 die 函数的值为 0 时, 意味着提前终止脚本的执行, 通常用 exit() 这个名字
当程序出错时, 可以给它传递一个字符串, 它会原样输出在系统终端上, 通常使用 die() 这个名字
回到前面这个话题, 下面代码为什么不输出 123 到页面?
自己总结:
1 功能上, die() 就等同于 exit();
2PHP 有多种运行方式, 即可网站形式, 也可脚本形式 (不需要 web 服务器)
当 PHP 为脚本形式运行时, 建议用 exit():
比如说 Bash Shell 脚本语言, 当它要停止运行时, 会用 exit() 函数终止脚本, 并允许输出点内容到运行环境 (一般是存储到一个全局变量中), 但输出的内容只能是 数字, 表示命令的结束状态
也就是说, exit(123) 只是输出一种运行状态 123, 而不是真的要向控制台输出 123 如果要向控制台输出 123, 代码得改成如下形式:
当 PHP 为网站形式运行时, 建议用 die():
但此时 die(数字), 就没啥意义, 因为它不会向页面输出 数字 字符串, 也就是说, 如果想让页面终止并且输出数字的话, 得改成如下形式
来源: http://www.bubuko.com/infodetail-2535620.html