使用Break 退出多個巢狀循環
雖然嵌套多個「for」循環是迭代資料結構的常見方法,但過早退出所有循環有時循環可能是必要的。我們可以利用 'break' 函數來達到這個目的嗎?
'break' 的限制
不幸的是,'break' 函數在其直接作用範圍內運行環形。應用它來打破多個嵌套循環是無效的。嘗試這樣做只是終止當前循環,而使巢狀循環不受影響。
「goto」的情況
諷刺的是,值得信賴的「goto」語句通常在現代程式設計實踐中不受歡迎的做法,作為針對這種特定場景的適當解決方案而出現。與「break」不同,「goto」允許在程式碼區塊之間跳轉,無論其嵌套層級為何。
控制循環退出深度
控制使用退出的循環數量「goto」涉及標記循環並指定適當的標籤作為「goto」目的地。例如,要退出兩個巢狀循環:
outer_loop: for (initialization1; condition1; increment1) { inner_loop: for (initialization2; condition2; increment2) { // Exit both loops if (condition) { goto outer_loop; } } }
透過跳到與最外層循環關聯的標籤,兩個巢狀循環都會立即終止。
因此, while 'break' 不適合退出多個巢狀循環,「goto」提供了必要的功能,儘管語法不太優雅。
以上是當「break」失敗時,「goto」可以幫助退出多個嵌套循環嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!