Php中的goto用法

我們先舉個簡單示例:

<?php
goto LABEL; //這個標籤自定義
echo '喬峯';

LABEL:
echo '鳩摩智';
以上例程會輸出:鳩摩智

解釋:
goto 操作符可以用來跳轉到程序中的另一位置。該目標位置可以用目標名稱加上冒號來標記,而跳轉指令是 goto 之後接上目標位置的標記。

PHP 中的 goto 有一定限制,目標位置只能位於同一個文件和作用域,也就是說無法跳出一個函數或類方法,也無法跳入到另一個函數。

也無法跳入到任何循環或者 switch 結構中。可以跳出循環或者 switch,通常的用法是用 goto 代替多層的 break。

我們再看一個示例:

<?php
for($i=0, $j=10; $i<20; $i++) {
while($j--) {
if($j==6)
goto end;
}
}
echo"這裏不會被輸出";
end:
echo "i = $i\n";
echo 'stop here';
上面可以看到直接輸出end後面的了,繼續看:
$number = 1;
switch($number){
case 1:
goto one; //使用goto跳到one標記處
echo "第一名"; //goto已經跳轉,這條語句不執行
case 2:
goto two;
echo "第二名";
case 3:
goto three;
echo "第三名";
}

one:
echo " 武林第一!";
//exit;
two:
echo " 武林第二!";
//exit;
three:
echo " 武林第三!";
//exit;
/
最終結果是:武林第一! 武林第二! 武林第三!
注意後面的exit 註釋了,爲何不是最終輸出 武林第一,大家可以琢磨下。
/

雖然goto平時用的不多。但有時候在特定場景下效率還是很高的。

無論從事什麼行業,只要做好兩件事就夠了,一個是你的專業、一個是你的人品,專業決定了你的存在,人品決定了你的人脈,剩下的就是堅持,用善良專業和真誠贏取更多的信任。不忘初心 方得始終!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章