![PHP 从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/705/27111705/b_27111705.jpg)
4.3 跳转语句
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P89_12085.jpg?sign=1738863172-C9yEGHBUQKLd0vyhGIOIDmyCMRu6eKtt-0-7f5503f435b533d7abd0f529a2e06de2)
在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跳转语句。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P89_73911.jpg?sign=1738863172-7XRKnbJlhC8YuYgNfohdT7Yl5S9VRqoo-0-fd5250347c40a295c2af35647a994ece)
在IE浏览器中运行结果如图4-17所示。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P89_12034.jpg?sign=1738863172-e2vGwXCGfBI1VSTkHU6Bg1Sfi13AsSzm-0-dda31cac921d1464c67658f88112ab68)
图4-16 break语句的流程控制图
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P89_12037.jpg?sign=1738863172-ELZ6yuh4UVwavSRixzbaqdZy8Gj1Royc-0-a8b094abe14dd07755de2dd09caa78d3)
图4-17 break语句运行结果
break语句可以带一个参数n,表示跳出循环的层数。如果要跳出多重循环的话,可以用n来表示跳出的层数;如果不带参数,n的默认值是1,表示跳出本层循环。语法格式如下:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P89_73912.jpg?sign=1738863172-vCYWJjSCsECkHrYQMfLKAElW9CDH2IK2-0-bfad5fce561005ca882f235785844d02)
【例4-10】(实例文件:ch04\Chap4.10.php)带参数的break实例。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P89_73913.jpg?sign=1738863172-tFfTt7goNEaGq04qN7qeXXEpNIk4IEMb-0-026b494f259428ad3399c7a3b0e9b13d)
在IE浏览器中运行结果如图4-18所示。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P90_12193.jpg?sign=1738863172-Qy6eapWjYSQ3zOleB5v9HEF55w0UaYkW-0-e5974742dd0fa4e799e2fc028e25f95d)
图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跳转语句。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P90_12241.jpg?sign=1738863172-ho51k9KnZYw2QY1Cex5e3VwLqmz3f6t8-0-8cced0f92f9c61ee615b47be03abcef2)
图4-19 continue语句的流程控制图
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P91_73919.jpg?sign=1738863172-9BrtURgMHUA6Zv8qKilO0ZJ9PI5CjrXO-0-d4faf43d3a3276bfe247157437e0a770)
在IE浏览器中运行结果如图4-20所示。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P91_12350.jpg?sign=1738863172-ikuh7RlECKVPhdsiKbLuCH9cGXkpOWBD-0-f27e757aa92f5ab040e8ee7fd2d7363f)
图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语句,它后面的语句将不会被执行,也就是退出函数。例如下面的代码:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P91_73920.jpg?sign=1738863172-7wpLA5DJz13FGSqTsPi5hpBI4gF2roLa-0-22dbd48a8e75ad7e1b4f0567e73acfa1)
输出的结果为10,而后面的return $a-$b;将不会被执行。
(2)return语句可以向函数调用者返回函数体中任意确定的值,也就是常说的函数返回值。例如下面的代码:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P92_73924.jpg?sign=1738863172-iJnLGzGgH3xtqTCyQFIHrCp7UYJVHnY7-0-e48086da0b304216787c3dcfe627c41a)
输出的结果为“return的重要作用”。
如果把上面代码中return $a;去掉,输出的结果将为空,因为如果不在函数fun()里面使用return返回值,则函数里面只有过程,而没有结果给fun(),所以调用该函数的时候不会有值输出。
4.3.4 exit跳转语句
exit()函数作用是输出一条消息,并退出当前脚本。语法格式如下:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P92_73926.jpg?sign=1738863172-vVaoOQXkBC2VU3xAcgfoONUg3MYEA1ww-0-b6650b050cea7ad54c2593866444a40d)
其中,status规定在退出脚本之前写入的消息或状态号,状态号不会被输出。
如果status是字符串,则该函数会在退出前输出字符串。如果status是整数,这个值会被用作退出状态,退出状态的值为0~254,退出状态255由PHP保留,不会被使用,状态0用于成功地终止程序。
【例4-12】(实例文件:ch04\Chap4.12.php)exit跳转语句实例。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P92_73925.jpg?sign=1738863172-PVvb2rvTBAZ7hVIM5k9aEeDwOtEoRF6d-0-4fe0d4f0dcb711fe8434baadbc73e952)
在IE浏览器中运行结果如图4-21所示。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P92_12517.jpg?sign=1738863172-KDB3tW2hG6TrT6ZqMyprlA2Zkl2bNN2D-0-43b877c212cf4ac28f3374aff28f0f1f)
图4-21 exit语句运行结果