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;
}
?>


这是一个很好的解决方案,但在某些文件中,我希望它在出现故障时在代码中间中断,因此对于我的使用,它将不起作用..使用
返回
也会从函数返回,所以如果我的任何语句在函数中,这也不会起作用。。对不起,巴利会将此设置为正确答案,因为它解决了我的问题。谢谢!