PHP продолжить заявление - PullRequest
0 голосов
/ 13 ноября 2009

При чтении книги по 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) { 

Подскажите, пожалуйста, что не так с моим примером? Я прошу прощения за такой вопрос Noob

Ответы [ 3 ]

10 голосов
/ 13 ноября 2009

если вы не увеличиваете $num2 до continue, вы попадете в бесконечный цикл;

$num2 = 0;

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


    }
2 голосов
/ 13 ноября 2009

Вам даже не нужно продолжать там, ваш код эквивалентен;

$num2 = 1;

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

        }

Если это не то, чего вы пытаетесь достичь, вы продолжаете неправильно.

0 голосов
/ 15 июня 2013

в php, используйте foreach для массивов и для для циклов

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