Re: [請益] 迴圈continue的問題

看板PHP作者 (貢貢老盃)時間15年前 (2010/12/21 17:00), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
自回一下,我改為: $i=1; while (XXXX) { switch (OOOO) { case '00': XXXXXXX; break; case '11' OOOOOOO; break; case '99' continue 2; default: XXXXXXXX; break; } $i++; } 就可以正確的執行了!! 學到一課!! ※ 引述《UniFish (貢貢老盃)》之銘言: : 我最近才剛從ASP轉過來PHP, : 看了2本書,裡頭都提到continue指令會放棄該次迴圈 : 回到迴圈頭執行,而不會理會continue以後的指令.. : 我昨天在寫時碰到了一個情況 : $i=1; : while (XXXX) : { : switch (OOOO) : { : case '00': : XXXXXXX; : case '11' : OOOOOOO; : case '99' : continue; : default: : XXXXXXXX; : } : $i++; : } : 照理說,只要跳到case '99' : 就會回到迴圈頭,而$i不會自動+1 : 但是我在switch前插入一行 echo $i.','; : 則不會出現:1,2,3,4,5,6,7,8,9,....... : 而是會出現:1,2,3,4,6,7,8,9,..... : 我要讓他跑的資料中,第五筆的確是case '99' : 為什麼$i還是會自動+1呢 : 直到我把$i++;放到每個case裡,除了case '99'之外才正常運作 : 是我誤會continue的用法了嗎?? -- ◤◢ ▁◢ 請‧尊‧重‧生‧命 ◢◤ 以 認 養 代 替 購 買 ◤◢ ◢◤ 請領養我 以 絕 育 代 替 撲 殺 ◤◢ 請領養我 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ Blog:http://Unifish.Pixnet.net/ 本BLOG謝絕挖隱私魔人 QSWEET -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.192.74

12/21 23:56, , 1F
請問為什麼是continue 2;??
12/21 23:56, 1F

12/22 10:34, , 2F
要跳脫二層外的迴圈,continue是跳回switch頭
12/22 10:34, 2F

12/22 10:34, , 3F
continue 2;就是再外一層while的頭
12/22 10:34, 3F
文章代碼(AID): #1D46ofBt (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1D46ofBt (PHP)