55. PHP goto


goto
(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