Php 继续2和中断开关语句
我是PHP新手,在网上看到了下面的代码。它在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 :
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
循环的下一个迭代,而不在开关之后执行任何代码。了解了。谢谢你善意的解释。我上面的链接已经死了。这里有一个