打破

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 命令立即终止内循环和外循环的执行。