私はswitch case
phpコードを学ぼうとしています。これは、ブレークを使用したときに正常に動作するプログラムです。
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>';
}
2番目の例で何が間違っていますか?? default
上記のケースが実行されても実行されますか?? また、なぜ$i%5
case が$i
3 に等しいときに実行されているのですか??