首頁 後端開發 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

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1324
25
PHP教程
1272
29
C# 教程
1251
24
PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

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

PHP行動:現實世界中的示例和應用程序 PHP行動:現實世界中的示例和應用程序 Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP與Python:了解差異 PHP與Python:了解差異 Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP的持久相關性:它還活著嗎? PHP的持久相關性:它還活著嗎? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP與其他語言:比較 PHP與其他語言:比較 Apr 13, 2025 am 12:19 AM

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python:代碼示例和比較 PHP和Python:代碼示例和比較 Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

See all articles