break 语句和 continue 语句在 PHP 中被称为“循环控制语句”。PHP 中任何类型的循环(for、while 或 do-while)都设计为根据所使用的测试条件运行一定数量的迭代。循环块内的 break 语句将指令流程带到块之外,放弃可能剩余的其余迭代。
break 语句通常是有条件地使用的。否则,循环将终止,而不完成第一次迭代本身。
break 语句的语法如下 -
while(expr){
if (condition){
break;
}
}
以下流程图说明了 break 语句的工作原理 -
示例
下面的 PHP 代码是在循环中使用 break 的简单示例。while 循环应执行 10 次迭代。但是,当计数器超过 3 时,循环内的 break 语句会终止它。
<?php
$i = 1;
while ($i<=10){
echo "第 $i 次迭代。\n";
if ($i>=3){
break;
}
$i++;
}
?>
它将产生以下输出 -
第 1 次迭代。
第 2 次迭代。
第 3 次迭代。
第 2 次迭代。
第 3 次迭代。
可以在 break 关键字前面给出一个可选的数字参数。它在嵌套循环结构中特别有用。它告诉要从多少个嵌套的封闭结构中分离出来。默认值为 1,仅断开直接封闭结构。
示例
以下示例有三个嵌套循环:一个 for 循环,其中有一个 while 循环,而该循环又包含一个 do-while 循环。
最里面的循环执行 break。它前面的数字 “2” 将控制权从当前范围带入 for 循环,而不是立即的 while 循环。
<?php
for ($x=1; $x<=3; $x++){
$y=1;
while ($y<=3){
$z=1;
do {
echo "x:$x y:$y z:$z \n";
if ($z==2){
break 2;
}
$z++;
}
while ($z<=3);
$z=1;
$y++;
}
}
?>
它将产生以下输出 -
x:1 y:1 z:1
x:1 y:1 z:2
x:2 y:1 z:1
x:2 y:1 z:2
x:3 y:1 z:1
x:3 y:1 z:2
x:1 y:1 z:2
x:2 y:1 z:1
x:2 y:1 z:2
x:3 y:1 z:1
x:3 y:1 z:2
请注意,每次 “z” 的值变为 2 时,程序都会跳出 “y” 循环。因此,“y” 的值始终为 1。