我努力學習switch case
PHP代碼。這是使用break的時候工作正常的程序。開關罩,看不慣
for ($i=1;$i<=100;$i++) {
switch(true) {
case ($i%5 == 0 && $i%3 == 0):
print 'foobar';
break;
case ($i%3 == 0 ):
print 'foo';
break;
case ($i%5 == 0):
print 'bar';
break;
case ($i%5 != 0 && $i%3 != 0):
print $i;
break;
}
echo '<br>';
}
但是,當我使用下面的代碼,它給了我意想不到的結果:
for ($i=1;$i<100;$i++) {
switch(true) {
case ($i%3 == 0 ):
print 'foo';
case ($i%5 == 0):
print 'bar';
default:
print $i;
}
echo '<br>';
}
什麼是錯在第二個例子?即使執行上述任何一種情況,default
也會執行嗎?也是爲什麼$i%5
情況下運行時$i
等於3?
所以,它的工作原理就像,如果一個案例返回true,那麼所有下面的案例都會執行? – TheGodWings
正確。所以你需要'休息'來阻止它這樣做。 – GolezTrol
非常感謝 – TheGodWings