首頁 後端開發 php教程 關於PHP5.3中所加入的goto語句的詳解

關於PHP5.3中所加入的goto語句的詳解

Jun 25, 2017 pm 01:33 PM
goto php 關於 加入 語句

在「前往」直出的ASM或任何其他組合語言。 這裡有一個連結: 我想知道:什麼可以做這個,使我的程式碼更我怎麼能在這個較大的項目,沒有振作起來。 由於goto語句可以讓你來回跳轉,偶然的,無限循環等待,如果這種情況發生了錯誤的方式。 可以在一個這樣的例子? 編輯:好吧,我見過的答案 CodeGo.net,顯然廣泛存在有關的“GOTO”,它是壞的。 所以我一直在想:為什麼PHP的trouble會將其加入到該語言。如果他們在裡面沒有看到,他們不會做...為什麼? 另外:一個在這裡的StackOverflow一般約「轉到」 EDIT2:看作為這個問題引起了很多不好的事情要難過我去,問我父親的跳躍。他是52歲,是工程師。他一對夫婦,他在他的日子,大多在FORTRAN和COBOL編程中做了一個良好的數額。如今他做IT服務,伺服器及與此。 無論如何,他說那些關於“回到我的天......” 在那之後了一下,他迴轉到說,甚至早在他的日子,作為一名學生,他們遺撼知道這是不是一個聰明的想法,但他們沒有更好的當時的情況。 TRY / CATCH還是幾年的時間和錯誤處理幾乎excisted。 所以你做了檢查您的程序是什麼?在末尾加上幾行,讓您列印輸出,你需要檢查你的程式碼的一切,然後你把台詞:“轉到列印;”,或類似的,開始你的資料的列印。 並以這種方式,你慢慢調試你的程式碼。 他同意轉到在現代編程世界的是他找到合理的是一個“緊急中斷”,在調試和意外情況。有點像goto fatal_error;,並為你的程式碼「是fatal_error」部分做的事情,向您展示了深入的結果。但是,只有在創造的最終產品應該不會有跳轉- 晚編輯:另一種在PHP5.3/PHP6關於“轉到”

#1. 如果你正在編寫好的PHP代碼,您應該不需要跳轉。我認為這是一個錯誤,他們正在將它添加在,因為它只是導致懶惰編程。 看 對於一個好的上又增加了這一到PHP,而且,這裡的堆疊溢出, 
2. 我只發現過的goto: 打出來的嵌套循環。但大多數新的語言必須做到這一點沒有goto反正(break 在PHP中 CodeGo.net,或是break 在Java中,等等)。 去到一個函數的末端清理部分。但是再次,這不是在一個垃圾收集的語言。 換句話說,如果你不知道你是否goto你不應該。 
3. 有沒有這樣的事情作為跳躍。 也許,只是也許,它可能走出多重嵌套循環,但你已經可以做“破2”,這樣的。標記符在Java中一樣會比轉到更好地為此目的。 也許是與程式碼編寫異常,當你需要跳到一堆一次其中一個發生故障的結尾。但是,這只是固定蹩腳的程式碼更蹩腳的程式碼。 
4. 它可用於偵錯目的,因此您不必出或程式碼重構區塊只是為了臨時改變了工作執行緒。
5. 在經典的VB編碼,使用goto是很方便的用於模擬的try / catch錯誤處理是這樣的:

Function MyFunction() as String
'-- start of error block
'
 On Error Goto Catch
 ' do something here that might cause an error
 MyFunction = "IT WORKED"
 Exit Function
 Catch:
 ' error occured - do something else
 MyFunction = Err.Description
 '
 '-- end of error block
End Function
...这里是一种模拟的try / catch /终于..Function MyFunction() as String
'-- start of error block
'
 On Error Goto Catch
 ' do something here that might cause an error
 MyFunction = "IT WORKED"
 Goto Finally
 Catch:
 ' error occured - do something else
 MyFunction = Err.Description
 Err.Clear
 Finally:
 ' put your finally code here
 '
 '-- end of error block
End Function
登入後複製

它也可以用來清除在函數的結尾,雖然我想你可以做另一個函數可以被呼叫來做到這一點的清理情況。 說實話,我從來沒有在PHP中,我心想:「嗯,我希望能有一個goto我沒有對他們為什麼決定做這個讀了,可是,那些傢伙都是非常聰明,並有機會考慮到PHP的非常好的方向,到目前為止,所以也許正期待有必要,我們不知道呢。語言
的解析器產生器產生解析器與goto語句(它比更理性的控制結構更容易使用goto),現在將它移植到PHP是沒有那麼多頭痛的。 #7. 寫有限狀態機的時候,goto是。有效跳到一個不同的情況和關閉過程中有案範圍盡可能多的語言時下有。下面的偽代碼:

do A
if (error)
 goto out_a;
do B
if (error)
 goto out_b;
do C
if (error)
 goto out_c;
goto out;
out_c:
undo C
out_b:
undo B:
out_a:
undo A
out:
return ret;
登入後複製

(伪由罗伯特爱,从linux内核归档的邮件列表采取代码:) 
9. 由于之前已经说过,GOTO是唯一真正需要的类型的算法,通常是那些在语言解析或有限状态机。我从来没有错过在PHP缺乏goto语句。 OTOH,我有一个语言,其中只有两个结构是函数和条件goto方法:SNOBOL4。由于意大利面条代码的风险是如此之高,最SNOBOL4是/很小心的避免这一点。但是goto语句也使很紧的编程,创意循环执行等。它实际上是更容易做到的FSM型圈,如果你有在使用goto。 
10. 我承认我转到我的代码。 :) 唯一的理由似乎有利于在最短的flyway从其他语言到PHP(实际上只改变语言不碰控制结构)和重构代码的移植的第2阶段。 我个人认为和同事,因为他们可以避开有条件决裂-S的循环,他们将能够抵御转到诱惑。
11. 生成的代码可以使goto语句,我猜。对生成的代码的好处是,你并不需要去维护它-你只是重新生成它。 
12. goto真正应该尽管这是在语言,并会进行过时由于更好的编程实践。现在添加它似乎是一个倒退的一步。 
13. goto语句中的B大优势就是学习曲线。人们不禁要问,为什么像visualstudia和Mac电脑的工具做的很好。原因是,人们需要的不仅仅是一个伟大的产品,他们希望有一个 伟大的产品,他们可以在短短一个小时左右学习。现在很多 一个天只计划为他们的工作之一。我看到这么多的书说,一个人永远不能 使用goto语句,然后给五年左右的技术,例如,他们说每消除 需要它。我说,只是事实,5是该有多好转到证明 是!!我没有教的五件事,包括异常结构, 把整个章节来解释!!当你真正需要的是一个简单的跳转 可在30秒内进行解释。当然,你可以创建恶意代码与他们如果 希望---但是,嘿,最不想写糟糕的代码,如果他们 他们才可以呢。最goto语句在我们的实验室所做的代码简单 了解和学习;程度远远超过了读一本2000页的书。

以上是關於PHP5.3中所加入的goto語句的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? 什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

See all articles