这可能非常微不足道,但我一直无法弄清楚。
这有效:
function MyFunction(){
//Do stuff
}
foreach($x as $y){
MyFunction();
if($foo === 'bar'){continue;}
//Do stuff
echo $output . '<br>';
}
但这并没有:
function MyFunction(){
//Do stuff
if($foo === 'bar'){continue;}
}
foreach($x as $y){
MyFunction();
//Do stuff
echo $output . '<br>';
}
这只产生 1 $output,然后:
Fatal error: Cannot break/continue 1 level
知道我做错了什么吗?
您无法从函数内部中断/继续函数外部的循环。但是,您可以根据函数的返回值中断/继续循环:
function myFunction(){
//Do stuff
return $foo === 'bar';
}
foreach($x as $y) {
if(myFunction()) {
continue;
}
//Do stuff
echo $output . '<br>';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)