溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在PHP中使用continue、break、exit方法跳出循環(huán)

發(fā)布時間:2021-03-05 15:08:54 來源:億速云 閱讀:181 作者:Leah 欄目:開發(fā)技術(shù)

如何在PHP中使用continue、break、exit方法跳出循環(huán)?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

php有什么用

php是一個嵌套的縮寫名稱,是英文超級文本預(yù)處理語言,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因為php是開源的,從而使得php經(jīng)久不衰。

PHP中跳出循環(huán)大致有這么幾種方式:
代碼:

復(fù)制代碼 代碼如下:


<?php
$i = 1;
while (true) { // 這里看上去這個循環(huán)會一直執(zhí)行
    if ($i==2) {// 2跳過不顯示
        $i++;
        continue;
    } else if ($i==5) {// 但到這里$i=5就跳出循循環(huán)了
        break;
    } else {
        echo $i . '<br>';
    }
    $i++;
}
exit;
echo '這里不輸出';
?>


結(jié)果:
1
3
4
continue
continue 是用來用在循環(huán)結(jié)構(gòu)中,控制程序放棄本次循環(huán)continue語句之后的代碼并轉(zhuǎn)而進行下一次循環(huán)。continue本身并不跳出循環(huán)結(jié)構(gòu),只是放棄這一次循環(huán)。如果在非循環(huán)結(jié)構(gòu)中(例如if語句中,switch語句中)使用continue,程序?qū)鲥e。
例如在下面的這段PHP代碼片段中:

復(fù)制代碼 代碼如下:


<?php
for($i = 1;$i <= 100; $i++ ){
if($i % 3 == 0 || $i % 7 == 0){
continue;
}
& #160;  else{
echo”$i \n<br/>”;
}
}
?>


PHP的代碼片段的作用是輸出100以內(nèi),既不能被7整除又不能被3整除的那些自然數(shù),循環(huán)中先用if條件語句判斷那些能被整除的數(shù),然后執(zhí)行 continue;語句,就直接進入了下個循環(huán)。不會執(zhí)行下面的輸出語句了。

break
break是被用在上面所提的各種循環(huán)和switch語句中的。他的作用是跳出當前的語法結(jié)構(gòu),執(zhí)行下面的語句。break語句可以帶一個參數(shù)n,表示跳出循環(huán)的層數(shù),如果要跳出多重循環(huán)的話,可以用n來表示跳出的層數(shù),如果不帶參數(shù)默認是跳出本重循環(huán)。
看下面這個多重循環(huán)嵌套的例子:

復(fù)制代碼 代碼如下:


for($i = 1;$i <= 10; $i++ ){
for($j = 1;$j <= 10;$j++){
$m = $i * $i + $j * $j;
echo”$m \n<br/>”;
if($m < 90 || $m > 190) {
break 2;
}
}
}


這里使用了break 2跳出了兩重循環(huán),你可以試驗一眼,將2去掉,得到的結(jié)果是完全不一樣的。如果不使用參數(shù),跳出的只是本次循環(huán),第一層循環(huán)會繼續(xù)執(zhí)行下去。

goto
goto實際上只是一個運算符,和其他語言一樣,PHP中也不鼓勵濫用goto,濫用goto會導(dǎo)致程序的可讀性嚴重下降。goto的作用是將程序的執(zhí)行從當前位置跳轉(zhuǎn)到其他任意位置,goto本身并沒有要結(jié)束的循環(huán)的作用,但其跳轉(zhuǎn)位置的作用使得其可以作為跳出循環(huán)使用。但PHP5.3及以上版本停止了對goto的支持,所以應(yīng)該盡量避免使用goto。
下面的是一個使用了goto跳出循環(huán)的例子

復(fù)制代碼 代碼如下:


for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) <= 29){
goto a;
}
echo “$i”;
}
a:
echo” this is the end”;


例子中使用了goto來跳出循環(huán),這個例子用來檢測1000以內(nèi),那些數(shù)的平方根大于29。

exit
exit是用來結(jié)束程序執(zhí)行的。可以用在任何地方,本身沒有跳出循環(huán)的含義。exit可以帶一個參數(shù),如果參數(shù)是字符串,PHP將會直接把字符串輸出,如果參數(shù)是integer整形(范圍是0-254),那個參數(shù)將會被作為結(jié)束狀態(tài)使用。

復(fù)制代碼 代碼如下:


<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
exit;
}
}
echo”本行將不會被輸出”;
?>


上面這個例子中直接在從循環(huán)里結(jié)束了代碼的運行,這樣會導(dǎo)致后面的代碼都不會被執(zhí)行,如果是在一個php web 頁面里面,甚至連exit后面的html代碼都不會被輸出。

return
return 語句是用來結(jié)束一段代碼,并返回一個參數(shù)的??梢詮囊粋€函數(shù)里調(diào)用,也可以從一個include()或者require()語句包含的文件里來調(diào)用,也可以是在主程序里調(diào)用,如果是在函數(shù)里調(diào)用程序?qū)R上結(jié)束運行并返回參數(shù),如果是include()或者require()語句包含的文件中被調(diào)用,程序執(zhí)行將會馬上返回到調(diào)用該文件的程序,而返回值將作為include()或者require()的返回值。而如果是在主程序中調(diào)用,那么主程序?qū)R上停止執(zhí)行

復(fù)制代碼 代碼如下:


<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
return;
}
}
echo”本行將不會被輸出”;
?>

關(guān)于如何在PHP中使用continue、break、exit方法跳出循環(huán)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI