如果在for循环中有一个包含的文件,而在该包含的文件中有另一个for循环,则继续2不起作用
这是设计使然?还是这是一个错误? AM完全不知所措
下面的信息
文件temp_outer_loop.php的内容
<pre>
<?php
for ($z=0; $z < 20 ; $z++) {
echo "\r\nlooping z $z of 20";
for ($a=0; $a < 20 ; $a++) {
echo "\r\n\tlooping a $a of 20";
if ($a==10) continue 2;
}
}
echo "<hr>";
for ($x=0; $x < 20 ; $x++) {
echo "\r\nlooping x $x of 20";
include_once(__DIR__ . "/temp_inner_loop.php");
}
?>
文件temp_inner_loop.php的内容
<?php
for ($y=0; $y < 20 ; $y++) {
echo "\r\n\tlooping y $y of 20";
if ($y==5) continue 2;
}
?>
我不认为这是一个错误。请参阅错误跟踪器上的this post back in 2006。它指出:
PHP中的“ include”在C中不是“ #include”。它不只是复制并粘贴您的代码。包含的文件具有单独的执行上下文,即使它确实继承了某些东西,最显着的是包含范围中的符号表。您还将注意到,在包含的文件中写入“ return”是从文件而不是从文件可能包含的函数中返回。
这种交叉文件goto绝对不起作用。