Php 从包含的文件中断循环?
我正试图把我的“行动”组织得更好一点,目前这是一个有着大量案例的巨大转变声明,很难管理。我想将操作移动到它们自己的文件中,以便更轻松地管理。但我正试图解决一个问题 我有一个foreach循环,它在所有“被调用的动作”上循环并调用它们。然后,我有一系列操作,但有些操作我想结束当前循环的执行(即Php 从包含的文件中断循环?,php,php-5.3,Php,Php 5.3,我正试图把我的“行动”组织得更好一点,目前这是一个有着大量案例的巨大转变声明,很难管理。我想将操作移动到它们自己的文件中,以便更轻松地管理。但我正试图解决一个问题 我有一个foreach循环,它在所有“被调用的动作”上循环并调用它们。然后,我有一系列操作,但有些操作我想结束当前循环的执行(即继续;或中断;),但在包含的文件上似乎不起作用 还有其他我可以做的吗?我还需要“actions”来访问执行脚本中定义的所有当前变量(这就是我选择include的原因) 目前 包含的\u file.php &l
继续;
或中断;
),但在包含的文件上似乎不起作用
还有其他我可以做的吗?我还需要“actions”来访问执行脚本中定义的所有当前变量(这就是我选择include的原因)
目前
包含的\u file.php
<?php
blah blah stuff
if(statement) {
// accesses variables declared in calling_file.php
continue;
}
?>
调用_file.php
<?php
blah blah stuff
// declare variables that need to be accessed in included_files.php
foreach() {
include included_file.php
}
?>
现在,对于一些操作,我想停止当前循环并转到下一个循环。有什么想法吗?如果我正确理解了您的问题,您似乎希望从包含的文件中获得一个结果,该文件指示您要执行的操作(
break
,continue
),然后是一个简单的switch语句,以允许内部循环中断外部循环。将允许您执行此操作
调用_file.php
<?php
$includes = array ('included_file1.php', 'included_file2.php', 'included_file3.php');
const CONTROL_BREAK = 3;
const CONTROL_CONTINUE = 7;
// declare variables that need to be accessed in included_files.php
foreach($includes as $include) {
print "Including $include\n";
$result = include($include);
switch ($result){
case CONTROL_BREAK:
break 2;
case CONTROL_CONTINUE:
default:
continue 2;
}
}
<?php
print __FILE__ . " has been included!\n";
if(TRUE) {
print "I should continue!\n";
return CONTROL_CONTINUE;
}
<?php
print __FILE__ . " has been included!\n";
if(TRUE) {
print "I should break!\n";
return CONTROL_BREAK;
}
<?php
print __FILE__ . " has been included!\n";
if(TRUE) {
print "You should never see me!";
}
在包含的文件中中断。是否确实要为循环的每个迭代包含该文件?不,不是真的。。。但功能似乎没有任何改善?