主頁 > 知識庫 > goto語法在PHP中的使用教程

goto語法在PHP中的使用教程

熱門標簽:中原區(qū)電話機器人價格 ai電話機器人加盟代理 黔江400電話如何辦理 招標自動語音外呼系統 OMG地圖標注app gps 地圖標注軟件 電銷機器人便宜的有嗎 地圖標注視頻廣告入駐 400電話鄭州申請

前言

在C++、Java及很多語言中,都存在著一個神奇的語法,就是goto。顧名思義,它的使用是直接去到某個地方。從代碼的角度來說,也就是直接跳轉到指定的地方。PHP中也有這個功能,我們先來看看它是如何使用的:

代碼運行到 goto 位置時,就跳轉到了 a: 所在的代碼行并繼續(xù)執(zhí)行下去。這個功能對于復雜的嵌套 if 或者在一些循環(huán)中進行跳出很有用,特別是針對某些異常或者錯誤情況的處理,比如:

for ($i = 0, $j = 50; $i  100; $i++) {
 while ($j--) {
  if ($j == 17) { // 假設$j==17是一種異常情況
   goto end; // 直接跳走了,循環(huán)結束的結果也不輸出了
  }

 }
}
echo "i = $i";
end:
echo 'j hit 17'; // 直接到這里輸出或者處理異常情況了

不過 goto 語法也有一些限制情況:

  • 目標位置只能位于同一個文件和作用域,也就是說無法跳出一個函數或類方法,也無法跳入到另一個函數
  • 無法跳入到任何循環(huán)或者 switch 結構中
  • 跳出循環(huán)或者 switch,通常的用法是用 goto 代替多層的 break

比如以下的代碼都是無效的:

$a = 1;
goto switchgo;
switch ($a){
 case 1:
  echo 'bb';
 break;
 case 2:
  echo 'cc';
  switchgo:
   echo "bb";
 break;
}

goto whilego;
while($a  10){
 $a++;
 whilego:
  echo $a;
}

它們都會報同樣的錯誤,因為作用域的關系無法找到定義的 goto 標簽。另外還需要注意的,使用goto可能什么引起死循環(huán),如下所示:

b:
 echo 'b';

goto b;

代碼執(zhí)行到 goto 時,跳回了之前的b標簽行,然后繼續(xù)向下執(zhí)行,又到 goto 了,成為了一個死循環(huán)。有點像 while(true) 的感覺了。但是,在這個 goto 循環(huán)里是沒有 break 的,只能在 goto 出去到別的地方。

注意:goto 操作符僅在 PHP 5.3及以上版本有效。

參考:https://www.php.net/manual/zh/control-structures.goto.php

總結

到此這篇關于goto語法在PHP中使用教程的文章就介紹到這了,更多相關goto語法在PHP的使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解PHP調用Go服務的正確方式
  • 基于Go和PHP語言實現爬樓梯算法的思路詳解
  • ThinkPHP5 框架引入 Go AOP,PHP AOP編程項目詳解
  • golang、python、php、c++、c、java、Nodejs性能對比
  • Linux安裝PHP MongoDB驅動
  • PHP中安裝使用mongodb數據庫
  • 詳解Go語言微服務開發(fā)框架之Go chassis
  • 詳解Go與PHP的語法對比

標簽:阿里 那曲 日照 哈密 濟源 孝感 池州 北京

巨人網絡通訊聲明:本文標題《goto語法在PHP中的使用教程》,本文關鍵詞  goto,語法,在,PHP,中的,使用,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《goto語法在PHP中的使用教程》相關的同類信息!
  • 本頁收集關于goto語法在PHP中的使用教程的相關信息資訊供網民參考!
  • 推薦文章