exitexitphp
① php中大量使用die或exit是否有弊端
exit和die是人为结束脚本运行,顾名思义,可读性肯定没有问题的。
性能方面,直接结束脚本运行,对性能是有益无害。
如果非要说弊端,那我认为是:本来应毁散该用return的时候却使用了exit,可能脚本提前退出,造成亮物功能上的问题。不过,我认为这是写代码的人的问题,和语法结构没有关系。
所以,敬余液该用就用吧,放心大胆的用,提供出来就是让人使用的。
② 说一下PHP中die()和exit()区别
1、用法习惯不同,当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字。
2、名字不同,其实PHP手册已经说过“die — Equivalent to exit().This language construct is equivalent to exit(). ”两者只是别名关系,除此之外完全一样。
3、源码的处理方式不同,无论是别名函数还是别名语言结构,从实际效果角度讲,都是一样的,但是源码的处理方式还是有一定的差异。
(2)exitexitphp扩展阅读:
die()和exit()差异实例:
zend_language_parser.c中,定义了一个宏
#define T_EXIT 300
还定义了一个enum,里面也有
enum yytokentype {
…
T_EXIT = 300,
….
}
这里告诉我们,T_EXIT这个token,它的code是300。
再看zend_language_scanner.l,其中有这么几行代码。
<ST_IN_SCRIPTING>”exit” {
return T_EXIT;
}
<ST_IN_SCRIPTING>”die” {
return T_EXIT;
}
很明显,php做词法分析时,无论遇到exit还是die,都会返回T_EXIT这个token。从这里酒可以证明,die和exit,再php内部处理是完全一样的。
也可以用下列php代码来确定:
<?php
var_mp(token_get_all(“<?php die;exit;?>”));
返回的结果中die和exit对应的token code,都是300。
PHP exit() 函数-w3school
PHP die() 函数-w3school
③ php exit能否回收线程
不能,PHP没有回收机制,只有等系统自动去回收在处理。
④ php exit后退出当前程序,如何继续执行下面另外的脚本
呵呵 这是不可能的,一个php文件就是一个脚本,只要执行了exit,将停止脚本解析,将所需的输出.
所以,你要慎用exit.不是出错造成的不可恢复状态,基本不要用exit.
其实 你完全可以将你所谓的"程序1"修改成分支判断,就是if/else,switch等语句替代exit完成的任务.