在前两节介绍的循环结构中,都是通过循环语句本身提供的条件表达式来指定循环次数执行代码块直到停止循环。但如果想在循环体执行过程中中止循环,或是跳过一些循环继续执行其他代码块,我们就需要一些特殊的流程控制结构。
break语句
break
可以结束当前for
、foreach
、while
、do-while
或者switch
循环结构的执行。使用break
语句可以将深埋在嵌套循环中的语句退出到指定层数,break
是接受一个可选的数字参数来决定跳出几重语句。
Demo
<?php
$i = 0;
while ( ++$i ) { //外层使用一个while语句的循环
switch ($i) { //内层使用一个switch语句
case 5:
echo "变量为5时,只退出switch语句<br>";
break 1; //使用break 1退出1层
case 10:
echo "当变量为10时,不仅退出switch而且还退出while循环<br>";
break 2; //使用break 2退出2层
}
}
?>
continue语句
continue
语句只能使用在循环语句内部,功能是跳过该次循环,继续执行下一次循环结构。在while
和do-while
语句中continue
语句跳转到循环条件开始处继续执行,对于for
循环控制变量更新,然后继续执行代码块。
Demo
<?php
$sum = 0;
for ( $i=1; $i <= 10; $i++ ) {
if ($i%3 != 0) //不能被3整除跳出本次循环
continue;
$sum += $i;
}
echo "结果为:$sum"; //输出结果为:18
?>
exit语句
当前的脚本中只要执行到exit
语句,不管它在哪个结构中,都会直接退出当前脚本。exit()
是一个函数,die()
函数是exit()
函数的别名,可以带有一个参数输出一条消息,并退出当前脚本。
Demo
<?php
//如果连接MySQL数据库失败则使用exit()函数输出错误消息,并退出当前脚本
$conn = mysql_connect("localhost", "root", "123456") or exit("连接数据库失败!");
?>
<?php
echo "连接失败,此脚本也不执行";
?>