PHP goto

PHP goto 用來執行程式跳轉的任務,以前在寫 C 語言的時候,goto 是常用的一個技巧,到了 PHP 到比較不常用他,在 PHP 中 goto 有些限制,僅能在同一的檔案的某個 context,也就是說不能跳出同一個檔案、function 或 method 去執行別的程式,當然也不能跳入另一個檔案、function 或 method,雖然限制比在 C 語言中還要嚴格,但是用來跳出迴圈或 switch 倒是還蠻方便的。goto 的概念早在 C 語言就已經使用很久,由 C 語言衍生而來的 PHP 也終於有了這個概念,PHP 的發展真是越來越強大了。

PHP goto 語法範例
<?php
goto section2;
echo 'section1';

section2:
echo 'section2';
?>
輸出結果
section2
範例的第一行用了 goto 到 section2 的技巧,所以 PHP 程式會自動跳過下一行的 echo 'section1' 步驟,進行 section2: 下面的程式碼,請注意 section2 後面要接著一個半形冒號,這樣 PHP 才認得路要怎麼走。

PHP goto 跳出迴圈範例
<?php
for ( $i=0 ; $i<20 ; $i++ ){
 if( $i==5 ) goto END;
}
echo " i = $i ";

END:
echo ' 變數 i 達到 5 囉!';
?>
輸出結果
變數 i 達到 5 囉!
這個範例中我們先設計了一個簡單的 PHP for 迴圈,預計從 0 跑到 19,然後在 for loop 中加入了一個 if 判斷式,當變數 $i 達到 5 的時候會執行 goto 並將程式帶往 END: 的區塊,等於是強制跳出 for 迴圈。(相關參考:PHP break 用法)。

注意事項:PHP goto 僅在 PHP 5.3 以及更新的版本上才能使用。

延伸閱讀
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012