return 跟 exit(0) 有什么区别,什么情况下使用。

发布网友 发布时间:2022-04-06 05:05

我来回答

7个回答

懂视网 时间:2022-04-06 09:26

php中exit和return的区别是:exit表示整个脚本停止运行,不输出内容,但exit()可以输出内容;return表示返回值,跳出函数,但不停止脚本的运行。

区别:

exit 是停止程序运行,不输出内容。

return 是返回值,跳出函数,但不停止程序运行。

(推荐教程:php图文教程)

详细说明:

exit后面加个()也是可以输出内容的!return是返回,也有终止程序的作用。

php遇到return不运行后面的代码,但和终止有本质区别。

举例:

function test(){
 echo 'test1';
 return;
 echo 'test2';
}
echo 'test3';

(视频教程推荐:php视频教程)

此处输出test1test3,之所以不输出test2是因为在一个函数里遇到return 他就返回了,不再执行函数内的代码,但是函数外的代码仍然会执行。

function test_1(){
 echo 'test1';
 exit;
 echo 'test2';
}
echo 'test3';

此处输出test1,当脚本遇到exit;整个脚本都不再执行了,不管是函数外的还是函数内的。

热心网友 时间:2022-04-06 06:34

楼主去看一下书上面,对这两条语句的定义。return是用来对一个函数进行返回,它是基本语句。而exit(0)本身是一个带有一个参数的函数,用来表示这个程序已经结束。之所以你查绝不到他们的区别,是因为这两条语句在main函数里面产生的表面效果是一样的,都是终止了这个程序(但是实质是不同的)。还有,如果在其它函数里面分别加入这两条语句(在这个函数运行完不会导致程序结束的情况下),它们是不同的。楼主亲自去测试一下吧,印象更加深刻。纯手机打字,希望对你有帮助

热心网友 时间:2022-04-06 07:52

Stevens的不朽名著《Unix环境高级编程》第7章上说的很清楚,return 0 和 exit(0) 没有本质的差别。但是 return 后面什么都不写则程序的行为是未定义的。

但是一个程序如果正常运行的话,应该以0为退出的值,如果程序发生异常,应该返回一个非零的值,你这个程序是position error,那么就不应该exit(0),而是应该写exit(POSITION_ERROR);
Richter的巨著《Windows核心编程》告诉我们,要在在程序的开头定义你自己的错误代码,并写入相应的软件设计文档。所以你要写:
#define POSITION_ERROR (-1)

热心网友 时间:2022-04-06 09:27

return 退出子程序,返回呼叫函数,主程序一般不会结束。除非是在main()函数里内直接执行 return,则两者的效果一样。
exit 则无论在那里执行,都会结束主程序的运行。

热心网友 时间:2022-04-06 11:18

楼主去看下书上面对两条语句定义return用来对函数进行返回基本语句而exit(0)本身带有参数函数用来表示程序已经结束之所查绝们区别因两条语句main函数里面产生表面效样都终止了程序(实质同)还有其函数里面分别加入两条语句(函数运行完会导致程序结束情况下)们同楼主亲自去测试下吧印象更加深刻纯手机打字希望对有帮助

热心网友 时间:2022-04-06 13:26

exit(0)是直接退出程序;
return;是退出函数。

热心网友 时间:2022-04-06 15:51

不要太纠结这个问题,删除一个不存在的元素,你可以选择忽略它。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com