goto操作符可以用來跳轉到程序中的某一指定位置。該目標位置可以用目標名稱 加上冒號來標記。
goto操作符是PHP5.3+后新增功能,用來跳轉到程序的另一位置;用法很簡單:goto后面帶上目標位置的標志,在目標位置上用目標名加冒號標記,如下:
- goto a;
- echo 'php粉絲網';
- a:
- echo 'http://www.49028c.com';
但是goto的目標位置只能同一文件和作用域【既不能跳轉到一個函數和類方法中】,當然它可以跳出循環,但是不能跳入循環:
- <?php
- for($i = 0; $i < 3; $i++)
- {
- echo $i . '<br>';
- if($i == 1) goto end;
- }
- end :
- echo '直接end結束了';
goto操作符可以用來跳轉到程序中的某一指定位置。該目標位置可以用目標名稱 加上冒號來標記。PHP中的goto有一定限制,只能在同一個文件和作用域中跳轉, 也就是說你無法跳出一個函數或類方法,也無法跳入到另一個函數。你也無法跳入到任何循環或者switch 結構中。常見的用法是用來跳出循環或者switch,可以代替多層的break。
- <?php
- goto a;
- echo 'Foo';
- a:
- echo 'Bar';
- ?>
以上例程會輸出: Bar
goto 跳出循環示例:
- <?php
- for($i=0,$j=50; $i<100; $i++) {
- while($j--) {
- if($j==17) goto end;
- }
- }
- echo "i = $i";
- end:
- echo 'j hit 17';
- ?>
以上例程會輸出: j hit 17
以下寫法無效:
- <?php
- goto loop;
- for($i=0,$j=50; $i<100; $i++) {
- while($j--) {
- loop:
- }
- }
- echo "$i = $i";
- ?>
以上例程會輸出:
Fatal error: 'goto' into loop or switch statement is disallowed in
script on line 2
新聞熱點
疑難解答