PHP从另一个文件中断WHILE循环
我有一些代码需要从PHP从另一个文件中断WHILE循环,php,Php,我有一些代码需要从循环中中断,而循环需要一个文件,但我希望文件能够以某种方式中断循环 示例代码 app.php <?php set_time_limit( 0 ); while ( true ) { require('response.php'); } ?> response.php <?php if( rand(0, 999) === 534 ){ break; } ?> 但它的错误是这样的: 致命错误:
循环中中断,而循环需要一个文件,但我希望文件能够以某种方式中断循环
示例代码
app.php
<?php
set_time_limit( 0 );
while ( true ) {
require('response.php');
}
?>
response.php
<?php
if( rand(0, 999) === 534 ){
break;
}
?>
但它的错误是这样的:
致命错误:无法在第5行的response.php中中断/继续1级
另一个例子:
loop.php
<?php
while ( true ) {
require('break.php');
}
?>
break.php
<?php
const $break = true;
if( $break ){
break;
}
?>
返回相同的错误,但在不同的行。尝试将variabile设置为break in response.php,然后通过返回中断脚本:
$break_while=1;
return;
然后在app.php中检查此变量是否存在:
if(isset($break_while)) break;
它应该可以工作,response.php执行返回时会发生中断(因此它会停止),php会在app.php中检查$break_。您可以简单地使用布尔值
变量在第一个文件中中断循环,如下所示:
app.php
<?php
set_time_limit( 0 );
$blnContinue = true;
while ( true && $blnContinue ) {
require('response.php');
}
?>
<?php
if( rand(0, 999) === 534 ){
$blnContinue = false;
}
?>
response.php
<?php
set_time_limit( 0 );
$blnContinue = true;
while ( true && $blnContinue ) {
require('response.php');
}
?>
<?php
if( rand(0, 999) === 534 ){
$blnContinue = false;
}
?>
这是一个很好的解决方案,但在某些文件中,我希望它在出现故障时在代码中间中断,因此对于我的使用,它将不起作用..使用返回
也会从函数返回,所以如果我的任何语句在函数中,这也不会起作用。。对不起,巴利会将此设置为正确答案,因为它解决了我的问题。谢谢!