PHP继续内部功能

Cla*_*a B 8 php continue function

这可能非常微不足道,但我无法弄明白.

这有效:

function MyFunction(){

//Do stuff

}


foreach($x as $y){

MyFunction();

if($foo === 'bar'){continue;}

//Do stuff

echo $output . '<br>';

}
Run Code Online (Sandbox Code Playgroud)

但这不是:

function MyFunction(){

//Do stuff

if($foo === 'bar'){continue;}

}


foreach($x as $y){

MyFunction();

//Do stuff

echo $output . '<br>';

}
Run Code Online (Sandbox Code Playgroud)

那只产生1美元的产量然后:

Fatal error: Cannot break/continue 1 level
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

Wyt*_*tse 12

您无法在函数内断开/继续函数外的循环.但是,您可以根据函数的返回值来中断/继续循环:

function myFunction(){   
    //Do stuff
    return $foo === 'bar';
}


foreach($x as $y) {
    if(myFunction()) {
        continue;
    }

    //Do stuff

    echo $output . '<br>';    
}
Run Code Online (Sandbox Code Playgroud)


Sal*_*n A 7

continue语句仅在循环结构内有效.