PHP迴圈學習五:如何跳出迴圈?5種方法淺析

2021-08-02 16:00:40
在之前的文章中,我們帶大家學習了PHP中的幾種迴圈控制結構(、、和),並介紹了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

die()/exit()函數只接受一個引數,可以是一個具體的數值,也可以是一個字串,還可以不輸入任何引數。如果引數是字串,PHP將會直接把字串輸出,如果引數是integer整形(範圍是0-254),那個引數將會被作為結束狀態使用。

方法5:return語句

return語句是用來結束一段程式碼,並返回一個引數的。

沿用上面的範例3中程式碼,將die()語句換成return語句,看看輸出

<?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迴圈學習五:如何跳出迴圈?5種方法淺析的詳細內容,更多請關注TW511.COM其它相關文章!