0

PHP の本を読んでいるとき、私は自分の (続き) 例を試してみたかったのです。次のコードを作成しましたが、すべて問題ないように見えますが機能しません

$num2 = 1;

    while ($num2 < 19)
        {
            if ($num2 == 15) { 
            continue; 
            } else {
            echo "Continue at 15 (".$num2.").<br />";
            $num2++;
            }

        }

出力は

Continue at 15 (1).
Continue at 15 (2).
Continue at 15 (3).
Continue at 15 (4).
Continue at 15 (5).
Continue at 15 (6).
Continue at 15 (7).
Continue at 15 (8).
Continue at 15 (9).
Continue at 15 (10).
Continue at 15 (11).
Continue at 15 (12).
Continue at 15 (13).
Continue at 15 (14).

Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/php/continueandbreak.php on line 20

20行目はその行です

if ($num2 == 15) { 

私の例の何が問題なのか教えてください。ノブのような質問で申し訳ありません

4

3 に答える 3

10

$num2の前にインクリメントしないcontinueと、無限ループに入ります。

$num2 = 0;

while ($num2 < 18)
    {
            $num2++;
            if ($num2 == 15) { 
              continue; 
            } else {
              echo "Continue at 15 (".$num2.").<br />";
            }


    }
于 2009-11-13T02:59:28.867 に答える
2

そこで続行する必要さえありません。コードは次のようになります。

$num2 = 1;
while ($num2 < 19){
    if ($num2 != 15) { 
        echo "Continue at 15 (".$num2.").<br />";
        $num2++;
    }
}

それが達成しようとしているものでない場合は、continue を間違って使用しています。

于 2009-11-13T03:00:07.773 に答える