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