php,包括使用continue语句的文件

php,包括使用continue语句的文件,php,Php,我面临这样的情况((摘自php文档)) 在循环中包含的文件中使用continue语句将产生错误。例如: // main.php for($x=0;$x<10;$x++) { include('recycled.php'); } // recycled.php if($x==5) continue; else print $x; 有一个解决方案???,我的意思是我需要以这种方式“处理”recycled.php,如果使用continue语句不会导致此错误,请记住这

我面临这样的情况((摘自php文档))

在循环中包含的文件中使用continue语句将产生错误。例如:

 // main.php  

 for($x=0;$x<10;$x++)
 { include('recycled.php'); }

 // recycled.php

 if($x==5)
 continue;
 else 
 print $x;

有一个解决方案???,我的意思是我需要以这种方式“处理”recycled.php,如果使用continue语句不会导致此错误,请记住这是易于理解的示例代码,在实际情况下,我需要找到一种方法来继续main.php文件的循环。

作为使用continue的替代方法,continue在包含的文件中不起作用,您可以这样做:

// page2.php
if($x!=5) {
  // I want this to run
  print $x;
} else {
  // Skip all this (i.e. probably the rest of page2.php)
}

您可以在
page2.php中使用
return
而不是
continue

if ($x == 5) {
  return;
}
print $x;
如果包含或需要当前脚本文件,则不需要控制 传递回调用文件。此外,如果当前脚本 如果包含文件,则指定给return的值将作为 include调用的值


试试这个!这可能对你有用

// page1.php  

 for($x=0;$x<10;$x++)
 { include('page2.php');

 // page2.php

 if($x==5)
 continue;
 else 
 print $x;
}
//page1.php
对于($x=0;$x您也可以这样做

// page1.php  

 for($x=0;$x<10;$x++)
 { include('page2.php'); }

 // page2.php

 if($x==5)
 { } // do nothing and the loop will continue
 else 
 print $x;
//page1.php

对于($x=0;$x您希望在包含的页面中继续循环:

试试这个:

 for($x=0;$x<10;$x++)
 { 
     $flag = 1;
    if($flag==0){
        continue;
    }
    include('./page2.php'); 
}


if($x==4)
   $flag = 0;
else 
    print $x;

for($x=0;$xSimple不包括x=5的页面

for($x=0;$x<10;$x++)
{ 
    if ($x != 5)
        include('page2.php'); 
}

你的代码是错误的,因为你使用了continue not in a loop!我不知道你为什么还要包含同一个文件5次

for($x=0;$x<10;++$x)
{ 
 //include('page2.php'); 
 if($x!=5)
   print $x;
}


for($x=0;$x)为什么不创建一个函数(甚至是另一个文件)它返回一个标志,告诉你是否必须打破循环?而且,这对我来说没有任何意义:这不是代码的可重用性,只是你试图在这里执行的错误方法
continue
是for循环语句only@DonCallisto,这是一个示例代码,在实际情况下,我不能使用像YO这样的函数你建议,因为我无法访问当前变量范围((他的用法是dinamical,名称可能不同))…很难解释xD@ArunKillu,在实际代码中,是一个脚本((告诉它“main.php”))需要在main.phpy中的不同区域多次执行page1.php中的代码。你不会在循环中继续!OP的问题是,包含的页面无法
继续
,这是一种解决方法。我不认为这值得投反对票。我已经更新了我的答案,说明这是一种替代方法。你有一点,我不知道立即理解你在这里的建议。对不起。@MaX,事实上这是一个解决方案,但发布的代码引用了一个示例情况,在实际情况下,我真的需要使用continue语句。
continue
几乎总是可以这样替换的。这只是将不需要在else中运行的所有内容包装起来的问题。我将更新以给出一个例子。老实说,我只是在介绍我的a**,以防某个超级极客(我的意思是以最有爱心的方式)带着一个例子来证明我错了。:)如果($x!=5),我会更传统地做
if打印$x;
并且不要使用else块。嘿!我认为return语句可能是解决这个问题的方法,让met测试;)在这种情况下,return语句将“模拟”continue的行为,accepted!!;)pD.可以编辑您的答案,并且只保留return语句?的使用,谢谢。从某种意义上说,它可以。正如文档所述,当在包含的文件中返回时,控制权被传递回调用文件,因此您可以在从包含的文件返回后在循环中执行其他代码,而continue将立即跳到下一个iter这对我很有用。我的头撞到墙上,用break continue和各种各样的解决方法。Return成功了。我也有一个for循环和for循环中的include。谢谢!是的,它解决了问题,但是@billyonecan可以先发布它,无论如何谢谢。P:记住,这是示例代码,用于说明一种情况,真正的code“需要”以某种方式继续主文件的循环。这不是我想要的,请检查接受的答案P:
if ($x == 5)
  return;

echo $x;
for($x=0;$x<10;++$x)
{ 
 //include('page2.php'); 
 if($x!=5)
   print $x;
}