有没有办法使用die()
函数停止在另一个页面上包含的页面上执行PHP语句,但是在包含die()
的文件的页面上继续执行PHP语句功能被包括在内?
答案 0 :(得分:9)
在您附带的文件中使用return;
。它会阻止这包括执行。它就像一个功能。您也可以从包含的文件中返回一个值
答案 1 :(得分:9)
但您可以使用return
代替,这完全符合您的要求:
如果从全局范围调用,则结束当前脚本文件的执行。如果当前脚本文件为
include()
或require()
,则控制权将传递回调用文件。此外,如果当前脚本文件为include()
,则return()
的值将作为include()
调用的值返回。如果从主脚本文件中调用return()
,则脚本执行结束。
正如PHP docs的摘录中所述,您甚至可以使用它从包含中返回退出代码/返回值:
$include_retval = include('file_like_function.php');
if ($include_retval) {
die("include returned error code: " . $include_retval);
}
答案 2 :(得分:0)
没有。您可以改用try
块吗?
try
{
include $file;
}
catch (Exception $e)
{
// Whatever
}
如果您在die()
中使用$file
,则会抛出异常。