我能想到的最好的解释是,PHP认为它是一个循环结构,所以它适合使用和的东西的模型。除了continue
break
switch
请注意,与其他某些语言不同,continue 语句适用于 switch,其作用类似于 break。如果循环中有一个开关,并希望继续到外部循环的下一个迭代,请使用 continue 2。
因此,也许是因为,就像循环一样,它停止了其结构中其余代码的执行。
但是,当您使用多个级别时,这两个级别的行为完全不同:
继续
而不显示级别
<?php
for($i=0;$i<5;$i++) {
switch($i) {
case 2:
continue;
default:
echo $i, "\n";
}
echo "Finished with {$i}\n";
}
//0
//Finished with 0
//1
//Finished with 1
//Finished with 2
//3
//Finished with 3
//4
//Finished with 4
继续
一个级别
<?php
for($i=0;$i<5;$i++) {
switch($i) {
case 2:
continue 2;
default:
echo $i, "\n";
}
echo "Finished with {$i}\n";
}
//0
//Finished with 0
//1
//Finished with 1
//3
//Finished with 3
//4
//Finished with 4
不带水平的中断
<?php
for($i=0;$i<5;$i++) {
switch($i) {
case 2:
break;
default:
echo $i, "\n";
}
echo "Finished with {$i}\n";
}
//0
//Finished with 0
//1
//Finished with 1
//Finished with 2
//3
//Finished with 3
//4
//Finished with 4
与关卡决裂
<?php
for($i=0;$i<5;$i++) {
switch($i) {
case 2:
break 2;
default:
echo $i, "\n";
}
echo "Finished with {$i}\n";
}
//0
//Finished with 0
//1
//Finished with 1