首頁 > 後端開發 > PHP問題 > php裡面break的用法是什麼

php裡面break的用法是什麼

青灯夜游
發布: 2023-03-17 21:18:01
原創
4202 人瀏覽過

在php中,break用來跳出目前的語法結構,執行下面的語句;可以在switch、for、while和do while等語句中使用,可以終止迴圈體的程式碼並立即跳出目前的循環,執行循環之後的程式碼。 break語句可以帶一個參數n,表示跳出循環的層數,如果要跳出多重循環的話,可以用n來表示跳出的層數,如果不帶參數預設是跳出本重循環。

php裡面break的用法是什麼

本教學操作環境:windows7系統、PHP8版、DELL G3電腦

PHP中的循環結構大致有for循環,while循環,do{} while 循環以及foreach循環幾種,不管哪種循環中,在PHP中跳出循環大致有這麼多種方式:

<?php
 
$i = 1;
while (true) { // 这里看上去这个循环会一直执行
    if ($i==2){// 2跳过不显示
       $i++;
       continue;
    } else if($i==5) {// 但到这里$i=5就跳出循循环了
       break;
    } else{
       echo $i . &#39;<br>&#39;;
    }
    $i++;
}
exit;
 
echo&#39;这里不输出&#39;;
?>
登入後複製

結果:

1
3
4
登入後複製

break關鍵字

break 關鍵字可以讓程式跳出目前的迴圈,可以在 switch、for、while 和do while 等語句中使用,這樣可以終止迴圈體的程式碼並立即跳出目前的循環,執行循環之後的程式碼。

break的作用是跳出目前的語法結構,執行下面的語句。 break語句可以帶一個參數n,表示跳出循環的層數,如果要跳出多重循環的話,可以用n來表示跳出的層數,如果不帶參數預設是跳出本重循環。

break 關鍵字的執行流程如下圖所示:

php裡面break的用法是什麼

【範例】

<?php
for ($i=0; $i < 10; $i++) {
    if($i == 3) {
        break;
    }
    echo $i;
}
?>
登入後複製

在for 迴圈中,判斷目前$ i 的值為3 時便終止循環。程式碼的執行結果為:

012
登入後複製

在 while、do while 和 foreach 迴圈語句中效果一樣,break 語句的作用都是終止迴圈。

說明:

break 語句不僅可以跳出目前的循環,還可以指定跳出幾層循環。語法格式為:

break n;
登入後複製

其中,參數n 指定要跳出的循環層數

範例:

<?php
    while (true) {
        for (;;) {
            for ($i=0; $i < 10; $i++) {
                echo &#39;$i = &#39;.$i.&#39;, <br>&#39;;
                if($i == 3) {
                    echo &#39;变量 $i 等于 3,跳出第一层循环。<br>&#39;;
                    break 1;
                }
            }
            for ($j=0; $j < 10; $j++) {
                echo &#39;$j = &#39;.$j.&#39;, <br>&#39;;
                if($j == 4) {
                    echo &#39;变量 $j 等于 4,跳出最外层循环。&#39;;
                    break 3;
                }
            }
        }
        echo &#39;由于前面直接跳出了最外层循环,所以这里的打印信息是看不到的!&#39;;
    }
?>
登入後複製

執行結果如下:

$i = 0,
$i = 1,
$i = 2,
$i = 3,
变量 $i 等于 3,跳出第一层循环。
$j = 0,
$j = 1,
$j = 2,
$j = 3,
$j = 4,
登入後複製

變數$j 等於4,跳出最外層迴圈。

continue關鍵字

continue是用來用在迴圈結構中,控製程式放棄本次迴圈continue語句之後的程式碼並轉而進行下一次循環。 continue本身並不會跳出循環結構,只是放棄這次循環。如果在非循環結構中(例如if語句中,switch語句中)使用continue,程式將會出錯。

例如在下面的這段PHP程式碼片段:

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

PHP的程式碼片段的作用是輸出100以內,既不能被7整除又不能被3整除的那些自然數,循環中先用if條件語句判斷那些能被整除的數,然後執行continue;語句,就直接進入了下個迴圈。不會執行下面的輸出語句了。

goto關鍵字

goto其實只是一個運算符,和其他語言一樣,PHP也不鼓勵濫用goto,濫用goto會導致程式的可讀性嚴重下降。 goto的作用是將程式的執行從目前位置跳到其他任意位置,goto本身並沒有要結束的循環的作用,但其跳轉位置的作用使得其可以作為跳出循環使用。但PHP5.3以上版本停止了對goto的支持,所以應該盡量避免使用goto。
下面的是一個使用了goto跳出循環的例子

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

例子中使用了goto來跳出循環,這個例子用來檢測1000以內,那些數的平方根大於29 。

exit關鍵字

exit是用來結束程式執行的。可以用在任何地方,本身沒有跳出循環的含義。 exit可以帶一個參數,如果參數是字串,PHP將會直接把字串輸出,如果參數是integer整形(範圍是0-254),那個參數將會被當作結束狀態使用。

<?php
    for($i = 1000;$i >= 1 ; $i– ){
        if( sqrt($i) >= 29){
            echo”$i \n<br/>”;
        }
        else{
            exit;
        }
    }
    echo”本行将不会被输出”;
?>
登入後複製

上面這個例子中直接在從循環裡結束了程式碼的運行,這樣會導致後面的程式碼都不會被執行,如果是在一個php web頁裡面,甚至連exit後面的html程式碼都不會被輸出。

return關鍵字

return語句是用來結束一段程式碼,並且傳回一個參數的。可以從一個函數裡調用,也可以從一個include()或require()語句包含的檔案裡來調用,也可以是在主程式裡調用,如果是在函數裡調用程式將會馬上結束運行並返回參數,如果是include()或require()語句包含的文件中被調用,程序執行將會馬上返回到調用該文件的程序,而返回值將作為include()或者require()的返回值。而如果是在主程式中調用,那麼主程式將會馬上停止執行

<?php
    for($i = 1000;$i >= 1 ; $i– ){
        if( sqrt($i) >= 29){
            echo”$i \n<br/>”;
        }
        else{
           return;
        }
    }
    echo”本行将不会被输出”;
?>
登入後複製

这里的例子和上面使用exit的效果是一样的。

在循环结束条件,自然跳出

这个当然是最好理解了,当循环满足循环临界条件时就是自己退出。

以上是PHP中跳出循环的几种方式的简单总结。

if不是循环结构,所以不能使用break,continue退出。如果你非要在if语句中这样用的话,可以把这个if语句放在一个循环结构中

$i=0;
$s=1;
while($i==0)
{
        if($s==1)
        {
                $v=8;
                break;
        }
        $v=9;
}

echo $v;
登入後複製

推荐学习:《PHP视频教程

以上是php裡面break的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板