55. PHP goto
goto
(PHP 5 >= 5.3.0)
gotoオペレータは、プログラム内の別の場所にジャンプするために使用できます.この目標位置は、目標名にコロンを付けてマークすることができ、ジャンプ命令はgotoの後に目標位置をつなぐマークである.PHPのgotoには一定の制限があり、ターゲットの位置は同じファイルと役割ドメインにしか位置しません.つまり、1つの関数やクラスメソッドからジャンプすることも、別の関数にジャンプすることもできません.任意のループまたはswitch構造にジャンプすることもできません.ループまたはswitchから飛び出すことができ、通常の用法は多層breakの代わりにgotoを用いる.
Example#1 gotoの例
以上のルーチンが出力します.
Example#2 goto飛び出しループ例
以上のルーチンが出力します.
Example#3以下の表記は無効です
以上のルーチンが出力します.
(PHP 5 >= 5.3.0)
gotoオペレータは、プログラム内の別の場所にジャンプするために使用できます.この目標位置は、目標名にコロンを付けてマークすることができ、ジャンプ命令はgotoの後に目標位置をつなぐマークである.PHPのgotoには一定の制限があり、ターゲットの位置は同じファイルと役割ドメインにしか位置しません.つまり、1つの関数やクラスメソッドからジャンプすることも、別の関数にジャンプすることもできません.任意のループまたはswitch構造にジャンプすることもできません.ループまたはswitchから飛び出すことができ、通常の用法は多層breakの代わりにgotoを用いる.
Example#1 gotoの例
<?php
goto a;
echo 'Foo';
a:
echo 'Bar';
?>
以上のルーチンが出力します.
Bar
Example#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
Example#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
Note:
goto PHP 5.3 。