以下のC言語とPHPのソースは、一見同じように見えるけど、結果が違います。分かりますか?
/* C言語 */ #include <stdio.h> int main(int argc, char** argv) { int i; for (i = 0; i < 10; i++) { switch(i) { case 0: case 3: continue; break; } printf("%d\n", i); } return 0; }
<pre><?php // PHP for ($i = 0; $i < 10; $i++) { switch($i) { case 0: case 3: continue; break; } echo $i."\n"; } ?>
答え:PHPの方では、for 文の中の switch にある、continue は無視されます。
つまり、Cの方では、12456789が表示され、PHPの方では、0123456789が表示されます。
久々にはまりました。