PHP goto語句

2020-07-16 10:05:11
PHP goto 語句可以用來跳轉到程式中的另一個位置。該目標位置可以用目標名稱加上冒號來標記,而跳轉指令是 goto 之後接上目標位置的標記。

PHP 中對 goto 語句有一定限制,即目標位置只能位於同一個檔案和作用域,也就是說無法跳出一個函數或類方法,也無法跳入另一個函數、其他迴圈或者 switch 結構中。

goto 也可以跳出迴圈或者 switch,所以可以用來代替多層的 break 語句。

範例1

<?php
goto a;
echo 'Foo';
a:
echo 'Bar';
?>
以上範例程式的輸出結果為:

Bar

範例2

<?php
for ($i=0; $i < 10; $i++) {
    if($i == 3) {
        goto a;
    }
    echo $i;
}
a:
echo "跳出迴圈";
?>
本例中,當 for 迴圈執行到 $i 的值為 3 時,因為 goto 語句,程式將會跳出迴圈,轉到 a 所定義的部分程式中執行,執行結果如下:

012 跳出迴圈