問題
當 PHP 在執行程式碼過程,在某一時刻我們希望它能跳到某一特定位置繼續執行程式碼,該怎麼做呢?
回答
在 PHP 中,我們可以使用 goto 運算子來讓 PHP 程式碼執行器跳到程式中某一特定位置。 goto 的使用有一定限制,例如:無法跳出一個函數或類,無法從外部跳入到一個函數,無法跳入到任何循環或 switch 結構中。但可以跳出迴圈或 switch,通常的用法是用 goto 取代 switch 中嵌套多層的 break。
語法
goto 會使 PHP 直接跳到指定標誌位置。
goto 标志; 代码块 标志: 代码块
範例
範例1 —— 嘗試跳入迴圈
<?php goto loop; for($i=0; $i<3; $i++) { while($i++) { loop: } } echo "End";
執行結果:
Fatal error: 'goto' into loop or switch statement is disallowed in F:\index.php on line 3
從執行結果可以看出,goto 不能從外部直接跳入循環。
範例2 —— 一個簡單的跳轉
<?php goto loop; echo '这是第一个句子。'; loop: echo '这是第二个句子。';
執行結果:
这是第二个句子。
範例3 —— 跳出迴圈
<?php for($i=0; $i<10; $i++) { while($i++) { if($i==5) goto end; } } echo '此时 $i=10'; end: echo '此时 $i=' . $i;
運行結果:
此时 $i=5
從範例3 運行結果可以看出,在我們需要從循環中跳出的時候,使用goto 非常方便。
提示
雖然 goto 使用起來非常方便,但是隨意使用 goto 語句極易造成程式碼邏輯混亂,所以應謹慎使用。
以上是PHP語法:goto 語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!