Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 21311 программистов и 1064 робота. Сейчас ищут 840 программистов ...
Приступая к работе

continue

(PHP 4, PHP 5, PHP 7)

continue используется внутри циклических структур для пропуска оставшейся части текущей итерации цикла и, при соблюдении условий, начала следующей итерации.

Замечание: Заметим, что в PHP структура switch считается циклической, и внутри нее может использоваться continue.

continue принимает необязательный числовой аргумент, который указывает на скольких уровнях вложенных циклов будет пропущена оставшаяся часть итерации. Значением по умолчанию является 1, при которой пропускается оставшаяся часть текущего цикла.

<?php
while (list($key$value) = each($arr)) {
    if (!(
$key 2)) { // пропуск нечетных чисел
        
continue;
    }
    
do_something_odd($value);
}

$i 0;
while (
$i++ < 5) {
    echo 
"Снаружи<br />\n";
    while (
1) {
        echo 
"В середине<br />\n";
        while (
1) {
            echo 
"Внутри<br />\n";
            continue 
3;
        }
        echo 
"Это никогда не будет выведено.<br />\n";
    }
    echo 
"Это тоже.<br />\n";
}
?>

Пропуск точки запятой после continue может привести к путанице. Пример как не надо делать.

<?php
for ($i 0$i 5; ++$i) {
    if (
$i == 2)
        continue
    print 
"$i\n";
}
?>

Ожидается, что результат будет такой:

0
1
3
4

Но, в PHP до версии 5.4.0, этот скрипт выведет следующее:

2

Потому что выражение continue print "$i\n"; воспринимается как единое выражение, и print вызывается только тогда, когда выражение $i == 2 истинно. (Возвращаемое значение от print передается к continue как числовой аргумент.)

Замечание:

Начиная с PHP 5.4.0, вышеприведенный пример вызовет ошибку E_COMPILE_ERROR.

Изменения, касающиеся оператора continue
Версия Описание
5.4.0 continue 0; больше не допускается. В предыдущих версиях это воспринималось точно также как и continue 1;.
5.4.0 Убрана возможность задавать переменную (например, $num = 2; continue $num;) в качестве числового аргумента.



Вернуться к: Управляющие конструкции

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware