在之前的文章中,我們帶大家學習了PHP中的幾個循環控制結構(while循環、do-while循環、for循環和foreach迴圈),並介紹了for迴圈語句和foreach迴圈語句遍歷數組的方法,有興趣的可以點擊連結查看,希望對大家有幫助!
迴圈語句可以在滿足條件的情況下重複執行某一個操作,但有時已經滿足條件但迴圈還沒結束,此時就需要跳出迴圈了。那麼在PHP中要如何跳出循環呢?今天就來跟大家分享5種跳出迴圈的方法:continue語句、break語句、goto語句、die()/exit()語句、return語句。
方法1:使用continue語句
continue語句的作用是跳出本次循環,接著執行下一次迴圈(放棄continue語句之後的程式碼並進行下一次循環)。
下面我們透過程式碼範例來看看。
範例1:輸出1~10 之間的所有偶數(偶數能被2整除)
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { continue; } echo $i.' <br>'; } ?>
分析:
for ($i = 1; $i <= 10; $i ){}
語句可以循環得到1~10 之間的所有數字
if($i % 2 != 0)
語句用來判斷$i
的值能整除2,不能整除則()
中值為true,則執行continue;
語句。
在迴圈體中,使用if($i % 2 != 0)
語句進行判斷,如果$i的值能整除2就使用「echo $i
」輸出;如果$i的值不能整除2,則觸發continue;
語句,跳出本次迴圈(不進行輸出),執行下一次迴圈。
輸出結果:
2 4 6 8 10
#方法2:使用break語句
break語句用於跳出目前的語法結構,可以終止循環體的程式碼並立即跳出當前的循環,執行循環之後的程式碼。
break和continue的不同點是:continue語句只是結束本次循環,而 break 語句會終止整個迴圈的執行。
沿用上面的範例1中程式碼,將continue;
換成break;
,會輸出什麼?
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { break; } echo $i.' <br>'; } ?>
答案是:什麼也不輸出。為什麼會這樣尼?讓我們來分析一下:
forx迴圈一開始,$i=1
,1小於10嗎?當然,然後開始執行迴圈中的if($i % 2 != 0)
語句;
那麼1能整除2嗎?顯然是不能,因此()
中值為true,則執行if中的「break;」語句,直接跳出整個循環了,根本沒有機會執行「echo $i.' < br>'
”語句。
方法3:goto語句
#goto 的作用是將程式的執行從目前位置跳到其他任意位置。此目標位置可以用目標名稱加上冒號來標記(例如 name: ),而跳躍指令是 goto 之後接上目標位置的標記。
goto本身並沒有要結束的循環的作用,但其跳轉位置的作用使得其可以作為跳出循環使用。
下面我們透過程式碼範例來看看。
範例2:輸出1~10 之間的所有奇數(奇數不能被2整除)
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 == 0) { goto a; } echo $i.' <br>'; } a: ?>
輸出:
1
goto其實只是一個運算符,使用有一定限制:跳轉的目標位置只能位於同一個檔案和作用域內。
goto 運算子僅在 PHP5.3 以上版本有效。
方法4:die()/exit()語句
exit 和die 這兩個名字指向的是同一個函數。die()/exit() 的作用:結束程式執行的,可以用在任何地方。
沿用上面的範例3中程式碼,將goto語句換成die(),看看輸出
######<?php header("Content-type:text/html;charset=utf-8"); for ($i = 1; $i <= 10; $i++) { if($i % 2 == 0) { die(); } echo $i.' <br>'; } ?>
1
<?php header("Content-type:text/html;charset=utf-8"); for ($i = 1; $i <= 10; $i++) { if($i % 2 == 0) { return; } echo $i.' <br>'; } ?>
1
return语句可以在一个函数里调用,也可以从一个include()或者require()语句包含的文件里来调用,也可以是在主程序里调用。
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
推荐:《PHP面试题大汇总(收藏)》
以上是PHP循環學習五:如何跳脫循環? 5種方法淺析的詳細內容。更多資訊請關注PHP中文網其他相關文章!