switch(1){
case 1: print 1; // prints 1 (as expected)
case 2: print 2; // prints 2 (even though match is not equal?)
case 3: print 3; // prints 3 (even though match is not equal?)
}
break
各case式が一致した後に使用しない場合、ほとんどのプログラミング言語は各ステートメントを実行し続けることを私は知っています。しかし、ほとんどの言語がこの2番目と3番目のcaseステートメントで成功した一致としてcaseブロックを実行する理由について私は混乱しています。
明確にするために:私はswitchステートメントの動作を知っていますが、一致が見つからない場合でも、caseブロック/ステートメントを成功した一致として実行することが理にかなっているという論理を理解していません。
更新:PHPだけでなく、ほとんどのプログラミング言語を反映するように質問を更新しました。