基礎

PHPのgoto文|処理を特定の場所にジャンプ

goto文は、プログラムの実行を指定したラベルの位置にジャンプさせる構文です。ただし、可読性が著しく低下するため、実務で使うことはほぼありません

基本的な使い方

PHP
<?php
echo "処理1<br>";
goto skip;
echo "処理2(スキップされる)<br>";

skip:
echo "処理3(ここにジャンプ)<br>";
?>
実行結果
処理1
処理3(ここにジャンプ)

goto ラベル名;で指定したラベル(ラベル名:)の位置にジャンプします。間の処理はすべてスキップされます。

goto文は使わない

goto文は「スパゲッティコード」の原因になるため、モダンなプログラミングでは使用を避けるべきです。if文、ループ、関数、例外処理で同じ制御フローを実現できます。PHPの公式ドキュメントでも非推奨とされています。

制限事項

gotoは同じファイル・同じスコープ内でのみジャンプできます。関数やクラスの外から中へのジャンプ、ループの外から中へのジャンプはできません。

まとめ

  • goto文は指定ラベルに処理をジャンプさせる構文
  • 可読性が著しく低下するため、実務では使用しない
  • if文、ループ、関数、例外処理で代替すべき