無限ループ 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まで表示されました。

PHP 以外でも使うことのできるシンタックスのようです。

/**
 * JSP
 */
int i = 0;
for (;;) {
	i++;
	out.print(i + "<br>");
	if (i == 30) break;
}