Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 继续2和中断开关语句_Php_Switch Statement - Fatal编程技术网

Php 继续2和中断开关语句

Php 继续2和中断开关语句,php,switch-statement,Php,Switch Statement,我是PHP新手,在网上看到了下面的代码。它在switch/case语句中同时具有continue 2和break。这是什么意思 foreach ( $elements as &$element ) { switch ($element['type']) { case a : if (condition1) continue 2; break; case b :

我是PHP新手,在网上看到了下面的代码。它在
switch/case
语句中同时具有
continue 2
break
。这是什么意思

foreach ( $elements as &$element ) {

    switch ($element['type']) {
        case a :
            if (condition1)
                continue 2; 
            break;

        case b :
            if (condition2)
                continue 2;
            break;
    }

    // remaining code here, inside loop but outside switch statement
}

continue接受一个可选的数值参数,该参数告诉它应该跳过多少级的封闭循环。默认值为1,因此跳到当前循环的末尾


来源:

继续2直接跳转到结构的下一个迭代,该迭代返回两层,即
foreach
break
(相当于
break 1
)刚好结束了
开关
语句

您显示的代码中的行为是:

循环通过
$元素
。如果
$element
类型为“a”且满足
条件1
,或者如果类型为“b”且满足
条件2
,则跳到下一个
$element
。否则,请在移动到下一个
$element
之前执行一些操作


发件人:


continue接受一个可选的数字参数,该参数告诉它有多少个 它应该跳到结尾的封闭循环的级别。默认值 值为1,因此跳到当前循环的末尾

PHP继续执行这些语句,直到开关结束 块,或第一次看到break语句时

如果在循环中有一个开关,并希望继续到下一个 外部循环的迭代,使用continue 2


“继续”和“中断”的相似之处在于,它们将阻止某些事情发生

在continue的情况下,它将停止括号后面的任何内容,但不会停止循环。switch语句只是从这个语句中得到,然后继续到下一个语句


如果出现中断,将阻止整个循环继续,请在此处结束循环。

谢谢您的友好回答。所以,你的意思是,如果类型是“a”并且条件1得到满足,或者如果类型是“b”并且条件2得到满足,那么循环中的剩余代码(switch语句之外的代码)将不会被执行,并将跳转到循环中的下一个迭代,对吗?是的,没错
continue 2
直接跳到
foreach
循环的下一个迭代,而不在
开关之后执行任何代码。了解了。谢谢你善意的解释。我上面的链接已经死了。这里有一个