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