php中exit()、die()、return()的区别详解

编程入门 行业动态 更新时间:2024-10-25 00:23:47

php中exit()、die()、return()的区别<a href=https://www.elefans.com/category/jswz/34/1770044.html style=详解"/>

php中exit()、die()、return()的区别详解

最近在收集有关PHP的面试题,其中有一道题是有关于exit()、die()函数的:

关于exit( )与die( )的说法正确的是:
A、当exit( )函数执行会停止执行下面的脚本,而die()无法做到
B、当die()函数执行会停止执行下面的脚本,而exit( )无法做到
C、使用die()函数的地方也可以使用exit()函数替换
D、die()函数和exit()函数没有区别,做退出程序,都会停止执行下面的脚本
(正确答案在文末)

1.exit()和die()

定义和用法,exit(status) 和die(status)函数都是输出一条消息,并退出当前脚本。两个函数互为别名,都指向同一个函数。

当status为整数时,从4.3版本开始将不再显示出来,如果为字符串类型时,会在中止脚本运行前把字符串内容输出到页面上。

下面看个实例:

$str = "www.baidu";
fopen($str,"r") or exit("unable to connect");
// exit函数可以换成die函数,效果一样的。
//运行上面的代码会在页面出现一个报错,同时显示unable to connect字符串
$str = "www.baidu";
fopen($str,"r") or exit(96);
// 运行结果:只出现报错,不会显示任何内容。

总结:die和exit函数作用和用法是一样的,不管是在主脚本或者函数体中都是中止脚本运行的,后面的代码都不再执行。

2.return

Note: 注意既然 return 是语言结构而不是函数,因此其参数没有必要用括号将其括起来。通常都不用括号,实际上也应该不用,这样可以降低 PHP 的负担。

Note: 如果没有提供参数,则一定不能用括号,此时返回 NULL。如果调用 return 时加上了括号却又没有参数会导致解析错误。

Note: 当用引用返回值时永远不要使用括号,这样行不通。只能通过引用返回变量,而不是语句的结果。如果使用 return (¥a);时其实不是返回一个变量,而是表达式 ($a) 的值(当然,此时该值也正是 $a 的值)。

如果在一个函数中调用 return 语句,将立即结束此函数的执行并将它的参数作为函数的值返回。return 也会终止 eval() 语句或者脚本文件的执行。

public test($num)
{if($num > 0){return "$num大于0";}else{return;}
}test(100);//返回字符串:100大于0,由于没有任何输出函数,所以此时是没有任何显示内容的。
test(-100);//一样是没有任何显示内容,但是会返回NULL

总结:return不是一个函数,应在用函数体中时,如果有返回值则返回相应内容,否则返回NULL,但不会中止主脚本的运行;如果应用在主脚本中则会中止后续脚本的运行。

试题的答案:C (AB很明显是错误的,D主要是错在退出程序)

最近在收集PHP试题,欢迎在评论区留言分享。

更多推荐

php中exit()、die()、return()的区别详解

本文发布于:2024-03-10 18:09:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1728672.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:详解   区别   exit   php   return

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!