自 PHP 5.3.0 起,也可以使用 goto 來跳出迴圈。
在本章開始的章節,我們講解到一個故事,王同學每週往返,但有一個特例:
專案失敗後或集團臨時除知除外,他就可以不再這麼每週往返了。
基本語法
<?php goto wan; echo '天王盖地虎'; wan: echo '小鸡炖蘑菇'; ?>
透過上例,我們發現直接顯示輸出了:小雞燉蘑菇。
我們來實現一下霸道王總裁的程式碼:
<?php for($i=0; $i<100; $i++) { echo '第'. $i .'周往返北京大连<br />'; if($i == 17){ goto end; } } end: echo '集团公司要求停止此项'; ?>
這個知識點為了解級別,大家不想學習,可以不用學習此區塊。
附註:
goto 運算子可以用來跳到程式中的另一個位置。
此目標位置可以用目標名稱加上冒號來標記,而跳轉指令是 goto 之後接上目標位置的標記。
PHP 中的 goto 有一定限制,目標位置只能位於同一個檔案和作用域,也就是說無法跳出一個函數或類別方法,也無法跳入另一個函數。也無法跳入任何循環或 switch 結構中。可以跳出迴圈或 switch,通常的用法是用 goto 取代多層的 break。