PHP流程控制之特殊结构

时间:2023-02-02 11:55:05

在前两节介绍的循环结构中,都是通过循环语句本身提供的条件表达式来指定循环次数执行代码块直到停止循环。但如果想在循环体执行过程中中止循环,或是跳过一些循环继续执行其他代码块,我们就需要一些特殊的流程控制结构。

break语句

break可以结束当前forforeachwhiledo-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语句只能使用在循环语句内部,功能是跳过该次循环,继续执行下一次循环结构。在whiledo-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 "连接失败,此脚本也不执行";
?>