问题描述
|
我在
outer.PHP
中包含文件inner.PHP
,我在inner.PHP
中有一个条件,我想停止执行inner.PHP
,但不是整个脚本,即我想在包含inner.PHP
之后跳到outer.PHP
的第一行,而我没有\不想在if语句中将所有代码都包装在ѭ0中。
否则有办法吗?
解决方法
只需在
inner.php
文件的顶层执行return;
或return($value);
。
如果从全局范围调用,则
执行当前脚本文件
结束了。如果当前脚本文件
是include()ed
或require()ed
,
控制权被传递回调用
文件。此外,如果当前
脚本文件是“ 10”,则
赋予return()
的值将是
作为include()
的值返回
呼叫。
,您可以仅在包含文件中调用ѭ15,但是如果您必须这样做,则表明体系结构有问题。例如,考虑以下包含文件:
<?php
// include.php
echo \"This is my include\";
return;
echo \"This is after the include\";
..包括在以下页面中:
<?php
// index.php
include(\'include.php\');
您将获得的输出是:This is my include
。
,在要停止的地方抛出异常
// in inner.php:
// ...some code...
throw new Exception(\'Error description\');
// ...some code which will not always execute...
并将其捕获到要恢复的文件中
// in outer.php
try {
include \'inner.php\';
} catch (Exception $e) {
//TODO: add error handling here
}
更新
与此处其他答案建议使用return;
不同,使用异常会在任何地方中断,即使您在inner.php内处于某个函数中也是如此
,有两个内部文件怎么样。第一部分和第二部分以及第二部分的条件包括?