無限ループ for(;;)
phpMyAdmin のソース( written in PHP ) を覗いていたら次のようなループ文を見つけました。
for (;;) { /* 処理 */ }
こんな書き方があるんですね。
「エラーにならないのかな?」と思い、実験してみました。
$i = 0; for (;;) { $i++; echo $i."<br>"; if ($i == 30) break; }
結果はエラーが出ることはなく、1〜30 が出力されました。
でも、なぜ以下のように書かなかったのかな?
$i = 0; while (true) { $i++; echo $i."<br>"; if ($i == 30) break; }
while (true) より for (;;) の方がパフォーマンスが良かったのかな?
亀仙流と鶴仙流みたいな双璧する流派でもあるかな??
[追記]
PHP だからかなと思って、構文面でPHPより厳しい JAVA (JSP) でも実験しましたが、エラーが出ることなく、1〜30まで表示されました。
/** * JSP */ int i = 0; for (;;) { i++; out.print(i + "<br>"); if (i == 30) break; }