goto
Вернуться к: Управляющие конструкции
(PHP 5 >= 5.3.0, PHP 7)
Оператор goto используется для перехода в другую часть программы. Место, куда необходимо перейти указывается с помощью метки, за которой ставится двоеточие, после оператора goto указывается желаемая метка для перехода. Оператор не является неограниченным "goto". Целевая метка должна находиться в том же файле, в том же контексте. Имеется ввиду, что вы не можете ни перейти за границы функции или метода, ни перейти внутрь одной из них. Вы также не можете перейти внутрь любой циклической структуры или оператора switch. Но вы можете выйти из них, и обычным применением оператора goto является использование его вместо многоуровневых break.
Пример #1 Пример использования goto
<?php
goto a;
echo 'Foo';
a:
echo 'Bar';
?>
Результат выполнения данного примера:
Bar
Пример #2 Пример использования goto в цикле
<?php
for($i=0,$j=50; $i<100; $i++) {
while($j--) {
if($j==17) goto end;
}
}
echo "i = $i";
end:
echo 'j hit 17';
?>
Результат выполнения данного примера:
j hit 17
Пример #3 Следующий пример работать не будет
<?php
goto loop;
for($i=0,$j=50; $i<100; $i++) {
while($j--) {
loop:
}
}
echo "$i = $i";
?>
Результат выполнения данного примера:
Fatal error: 'goto' into loop or switch statement is disallowed in script on line 2
Замечание:
Оператор goto доступен в PHP начиная с версии 5.3.
Вернуться к: Управляющие конструкции