continue
(PHP 4, PHP 5)
continue используется внутри циклических структур для пропуска оставшейся части текущей итерации цикла и, при соблюдении условий, начала следующей итерации.
Замечание: Заметим, что в PHP структура switch считается циклической, и внутри нее может использоваться continue.
continue принимает необязательный числовой аргумент, который указывает сколько итераций будет пропущено.
Замечание:
continue 0; и continue 1; есть одно и то же, что и continue;.
<?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
Но этот скрипт выведет следующее:
2
Потому что выражение continue print "$i\n"; воспринимается как единое выражение, и print() вызыватеся только тогда, когда выражение $i == 2 истинно. (Возвращаемое значение от print передается к continue как числовой аргумент.)
| Версия | Описание |
|---|---|
| 5.4.0 | Удалена возможность передачи переменных (например, $num = 2; continue $num;) в качестве числового аргумента. |