goto 演算子を使用すると、プログラム内の別の場所にジャンプできます。ターゲット位置はターゲット名とコロンでマークできます。ジャンプ命令は goto 後のターゲット位置のマークです。 PHP の goto には特定の制限があります。ターゲットの場所は同じファイルとスコープ内にのみ存在できます。つまり、関数やクラス メソッドからジャンプしたり、別の関数にジャンプしたりすることはできません。また、ループやスイッチ構造にジャンプすることもできません。ループまたはスイッチから抜け出すことができます。通常の使用法は、マルチレイヤー ブレークの代わりに goto を使用することです。
例 #1 goto example
<?php goto a; echo 'Foo'; a: echo 'Bar'; ?>
上記のルーチンは出力します:
Bar
例 #2 goto ループから抜け出す example
<?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"; ?>
上記のルーチンは出力します:
致命的なエラー: ループまたはスイッチ ステートメントへの 'goto' は 2 行目の
スクリプトでは許可されていません
注:
goto 演算子は PHP でのみ有効です5.3以上。