我是PHP的新手,在线查看下面的代码。它在continue 2
语句中一起有break
和switch/case
。这是什么意思?
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
}
答案 0 :(得分:19)
continue 接受一个可选的数字参数,告诉它有多少 封闭循环的级别应该跳到结尾。默认 value为1,因此跳到当前循环的末尾。
如果你在循环中有一个开关并希望继续下一个 迭代外循环,使用continue 2.
PHP继续执行语句,直到切换结束 阻止,或第一次看到break语句。如果你不写 在一个案例的语句列表末尾的一个break语句,PHP将会去 执行以下案件的陈述。
说明: continue 2
跳回到2级返回循环的下一次迭代,即foreach
。 break
(相当于break 1
)结束当前循环,即switch
。
使用英语:对于每个$element
,如果类型为“a”且符合condition1
或类型为“b”且condition2
满足,继续到下一个$element
并忽略其余的开关选项。否则,继续执行下一个开关选项,或者,如果这是最后一个开关选项,则在切换后执行任何代码。
答案 1 :(得分:3)
恕我直言,区别在于你在切换后和循环结束前有代码。
foreach ( $elements as &$element ) {
switch ($element['type']) {
case a :
if (condition1)
continue 2;
break;
case b :
if (condition2)
continue 2;
break;
}
// The code here will be reached if break but not if continue 2
}
答案 2 :(得分:2)
continue接受一个可选的数字参数,该参数告诉它应该跳到多少级别的封闭循环到它的末尾。默认值为1,因此跳到当前循环的末尾。
答案 3 :(得分:1)
继续和休息是相似的,因为这将阻止某些事情发生。
如果继续,它将在大括号后停止任何内容,但不会停止循环。 switch语句刚刚退出此语句并继续下一个语句。
如果中断,它将停止整个循环继续,结束循环。
答案 4 :(得分:0)
只需通过ftp在ascii编辑器(如notepad ++)中打开文件,转到错误中提到的相应行并进行更改
继续;进入继续2;
真的很容易。