PHP 从入门到项目实践(超值版)
上QQ阅读APP看书,第一时间看更新

4.3 跳转语句

在4.2节中学习了循环控制语句,在循环中还可以根据不同的条件来跳出循环,跳出循环使用的是break和continue语句,对此,本节将进行详细的介绍。在程序运行中,可以使用return和exit来终止程序的运行。

4.3.1 break跳转语句

break语句用来终止当前循环,包括for、while、do…while和switch在内的所有循环控制语句。break语句的流程控制图如图4-16所示。

下面举一个实例,在实例中使用for循环,然后输出变量$i,当$i等于3的时候,使用break终止循环。

【例4-9】(实例文件:ch04\Chap4.9.php)break跳转语句。

在IE浏览器中运行结果如图4-17所示。

图4-16 break语句的流程控制图

图4-17 break语句运行结果

break语句可以带一个参数n,表示跳出循环的层数。如果要跳出多重循环的话,可以用n来表示跳出的层数;如果不带参数,n的默认值是1,表示跳出本层循环。语法格式如下:

【例4-10】(实例文件:ch04\Chap4.10.php)带参数的break实例。

在IE浏览器中运行结果如图4-18所示。

图4-18 带参数的break语句运行结果

注释:在上面的例4-10中,使用了两个for循环,在内层循环添加break语句。当break语句的参数n=1的时,跳出第1层循环,每次循环到$j==8时,跳出内层循环,然后从外层继续开始循环;当break语句的参数n=2时,跳出第2层循环,本例就两层循环,相当于终止了整个循环。

4.3.2 continue跳转语句

continue语句相比较于break语句,功能较弱一些,continue只能终止本次循环而进入到下一次循环中,continue也可以指定跳出几层循环。continue语句的流程控制图如图4-19所示。

【例4-11】(实例文件:ch04\Chap4.11.php)continue跳转语句。

图4-19 continue语句的流程控制图

在IE浏览器中运行结果如图4-20所示。

图4-20 continue语句运行结果

注释:在例4-11中,使用了2个for循环,在内层循环添加continue语句。当continue语句的参数n=1的时,跳出1层循环,每次循环到$j==8时,跳出内层循环的本次循环,然后进行内层的下一次循环;当continue语句的参数n=2时,跳出2层循环,每次循环到$j==8时,跳出外层的循环,然后进行外层的下一次循环。

4.3.3 return跳转语句

在大部分编程语言中,return语句可以将函数的执行结果返回,PHP中return的用法类似。return的作用是将函数的值返回给函数的调用者,如果在全局作用域内使用return关键字,那么将终止脚本的执行。return语句在函数中使用时,有以下两个作用。

(1)在函数中如果执行了return语句,它后面的语句将不会被执行,也就是退出函数。例如下面的代码:

输出的结果为10,而后面的return $a-$b;将不会被执行。

(2)return语句可以向函数调用者返回函数体中任意确定的值,也就是常说的函数返回值。例如下面的代码:

输出的结果为“return的重要作用”。

如果把上面代码中return $a;去掉,输出的结果将为空,因为如果不在函数fun()里面使用return返回值,则函数里面只有过程,而没有结果给fun(),所以调用该函数的时候不会有值输出。

4.3.4 exit跳转语句

exit()函数作用是输出一条消息,并退出当前脚本。语法格式如下:

其中,status规定在退出脚本之前写入的消息或状态号,状态号不会被输出。

如果status是字符串,则该函数会在退出前输出字符串。如果status是整数,这个值会被用作退出状态,退出状态的值为0~254,退出状态255由PHP保留,不会被使用,状态0用于成功地终止程序。

【例4-12】(实例文件:ch04\Chap4.12.php)exit跳转语句实例。

在IE浏览器中运行结果如图4-21所示。

图4-21 exit语句运行结果