打破

break 關鍵字立即終止當前迴圈。

continue 語句類似,break 停止執行迴圈。然而,與 continue 語句不同,break 會立即終止迴圈,並且不會再次執行條件語句。

$i = 5;
while(true) {
    echo 120/$i.PHP_EOL;
    $i -= 1;
    if ($i == 0) {
        break;
    }
}

這段程式碼會產生

24
30
40
60
120

但是不會執行 $i 為 0 的情況,這會因為除以 0 而導致致命錯誤。

break 語句也可用於打破幾個級別的迴圈。執行巢狀迴圈時,此行為非常有用。例如,要將字串陣列複製到輸出字串中,刪除任何 # 符號,直到輸出字串正好是 160 個字元

$output = "";
$inputs = array(
    "#soblessed #throwbackthursday",
    "happy tuesday",
    "#nofilter",
    /* more inputs */
);
foreach($inputs as $input) {
    for($i = 0; $i < strlen($input); $i += 1) {
        if ($input[$i] == '#') continue;
        $output .= $input[$i];
        if (strlen($output) == 160) break 2; 
    }
    $output .= ' ';
}

break 2 命令立即終止內迴圈和外迴圈的執行。