PHP流程控制之goto語(yǔ)法
自 PHP 5.3.0 起,還可以使用 goto 來(lái)跳出循環(huán)。
在本章開(kāi)始的章節(jié),我們講解到一個(gè)故事,王同學(xué)每周往返,但有一個(gè)特例:
項(xiàng)目失敗后或者集團(tuán)臨時(shí)除知除外,他就可以不再這么每周往返了。
基本語(yǔ)法
<?php goto wan; echo '天王蓋地虎'; wan: echo '小雞燉蘑菇'; ?>
通過(guò)上例,我們發(fā)現(xiàn)直接顯示輸出了:小雞燉蘑菇。
我們來(lái)實(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 操作符可以用來(lái)跳轉(zhuǎn)到程序中的另一位置。
該目標(biāo)位置可以用目標(biāo)名稱加上冒號(hào)來(lái)標(biāo)記,而跳轉(zhuǎn)指令是 goto 之后接上目標(biāo)位置的標(biāo)記。
PHP 中的 goto 有一定限制,目標(biāo)位置只能位于同一個(gè)文件和作用域,也就是說(shuō)無(wú)法跳出一個(gè)函數(shù)或類方法,也無(wú)法跳入到另一個(gè)函數(shù)。也無(wú)法跳入到任何循環(huán)或者 switch 結(jié)構(gòu)中??梢蕴鲅h(huán)或者 switch,通常的用法是用 goto 代替多層的 break。