我正在尝试学习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
case 在$i
等于 3 时运行?