【web 开发基础】PHP中的特殊流程控制(break) -PHP 快速入门 (20)

简介: 我们在介绍while和for循环的时候,都是通过循环语句本身提供的条件表达式来指定循环的次数,或者是遇到特殊情况要停止循环。如果想在循环体执行过程中终止循环,或是跳过一些循环继续执行其他循环,就需要使用到特殊的流程控制语句。如:break语句,continue语句,exit语句。接着下面就来详细了解PHP中break语句的用法和相关概念。

前言

我们在介绍while和for循环的时候,都是通过循环语句本身提供的条件表达式来指定循环的次数,或者是遇到特殊情况要停止循环。如果想在循环体执行过程中终止循环,或是跳过一些循环继续执行其他循环,就需要使用到特殊的流程控制语句。如:break语句,continue语句,exit语句。接着下面就来详细了解PHP中break语句的用法和相关概念。

break语句

在PHP中,break语句是用来中断当前循环或者中断分支结构的,或和 label 一起使用,可中断相关联的语句。break可以结束当前for,foreach,while,do...while或者switch分支结构的执行。其语法格式如下:

break [label];
可选的 label 参数指定断点处语句的标签。

下图为break在不同循环结构中的使用格式:

编程实践

下面以for为例来说明break语句的基本使用方法及其功能。以输出九九乘法表为例,尝试在双层嵌套for循环中使用break语句,当外层for循环执行第5次时使用break退出循环,层for循环也使用break退出循环。其代码如下:

<?phpfor($i=9;$i>=1;$i--){
if($i<5){
break;
  }
for($j=$i;$j>=1;$j--){
if($i<5){
break;
    }
echo"$jx $i= " . ($j*$i) . "&nbsp;&nbsp;";
  }
echo"<br>";
}

执行结果如下图所示:

在循环中使用break流程大致如下:

使用break语句可以将深埋在嵌套循环中的语句退出到指定层数或直接退出到最外层。break通过接受一个可选的数字参数来决定跳出几重循环语句或是几重switch语句,下面我们就来看看PHP中break语句在while和switch中的使用:

<?php$i=0;
while(++$i){
switch($i){
case6:
echo"变量为6时,只退出switch语句<br>";
break1; 
case12:
echo"变量\$i为12时,不仅退出switch同时退出while循环<br>";
break2;
  }
}

执行结果如下:

上面的代码是外层一个while语句循环内嵌一层switch语句,第7行代码中 "break 1",是使用break退出1层,即是只退出switch语句,第10行代码中"break 2",使用break退出两层。即是退出switch的同时退出while。

在PHP中foreach主要是用于数组的遍历,foreach也是我们实际开发中最常用到的一种循环结构。foreach也叫增强for循环,可以说是foreach的一个特殊简化版;foreach有两种语法:

第一种:遍历给定的 数组语句 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元):

foreach (array_expression as $value)

第二种:同上,同时当前单元的键名也会在每次循环中被赋给变量 $key

foreach (array_expression as $key => $value)

接着我们继续看看break在foreach中的使用:当遍历到数组中的值等于5时,退出循环。

<?php$arr=array(1,2,3,4,5,6,7,8,9);
foreach($arras$v){
if($v==5)
  {
break;
  }
echo$v."<br>";
}

执行结果:

总结

在实际的使用中,我们不会平白无故直接退出循环,一般结合if判断是否达到某个条件才会退出当前循环。break在PHP的使用跟在其他编程语言中的用法基本是一样的,PHP中 break 语句有以下两种用法:

  1. break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句
  2. 它可用于终止 switch 语句中的一个 case

如果你使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

目录
相关文章
|
7天前
|
SQL 存储 安全
PHP 与现代 Web 应用的安全挑战与解决方案
随着 Web 应用的发展,PHP 作为一种广泛使用的服务器端脚本语言,面临着越来越复杂的安全挑战。本文探讨了当前 PHP 开发中常见的安全问题,并提供了相应的解决方案,帮助开发者构建更安全可靠的 Web 应用。 【7月更文挑战第8天】
17 1
|
3天前
|
安全 大数据 编译器
PHP 8: 探索新特性及其对现代Web开发的影响
在这篇文章中,我们将深入探讨PHP 8的最新特性,包括JIT编译器、联合类型、匹配表达式等,并分析这些更新如何影响现代Web开发。通过具体示例和代码片段,本文旨在为开发者提供一个清晰的指南,以便更好地利用PHP 8的新功能优化和加速他们的应用程序。
10 2
|
3天前
|
编译器 测试技术 PHP
深入理解PHP 7的新特性及其对现代Web开发的影响
【7月更文挑战第12天】本文将探讨PHP 7版本中引入的关键改进和新增功能,以及这些变化如何优化了性能、提升了代码的可维护性,并促进了现代Web开发的最佳实践。通过具体示例,我们将深入了解这些新特性在日常开发中的应用,以及它们为开发者带来的实际益处。
10 2
|
3天前
|
PHP 开发者
PHP 8 新特性及其对现代Web开发的影响
PHP 8作为最新版本,引入了一系列强大的新特性和改进,这些变化不仅仅是语言本身的提升,更深刻地影响了现代Web开发的方式和效率。本文将深入探讨PHP 8的关键特性,分析其在开发实践中的应用和优势,帮助开发者更好地理解和利用这些新特性。 【7月更文挑战第12天】
9 1
|
7天前
|
安全 编译器 PHP
深入理解PHP 8的新特性及其对现代Web开发的影响
【7月更文挑战第8天】随着PHP 8的发布,这个广受欢迎的服务器端脚本语言迎来了重大更新,带来了性能提升和更现代化的编程特性。本文将探索PHP 8中的新特性,并分析它们如何改变开发者构建和维护Web应用的方式,同时指出这些变化对现有项目升级可能带来的挑战与机遇。
|
10天前
|
设计模式 Rust 安全
深入理解PHP 7的新特性及其对现代Web开发的影响
本文通过数据驱动的分析,探讨了PHP 7的发布如何革新了Web开发的面貌。文章首先概述了PHP 7带来的性能提升与新特性,然后通过实际案例和性能测试数据,详细讨论了这些新特性对提高代码效率、增强安全性和支持现代编程范式的具体影响。最后,文章将评估PHP 7在当前Web开发环境中的地位,并对其未来的发展做出展望。
|
5天前
|
安全 编译器 数据处理
PHP 8新特性及其对现代Web开发的影响
随着PHP 8的发布,这一广泛使用的服务器端脚本语言引入了多项新特性和性能改进。本文将深入探讨PHP 8的关键更新,包括JIT编译器、联合类型、命名参数、匹配表达式等,并分析这些变化如何影响现代Web开发实践,以及开发者如何利用这些新工具来构建更快、更安全、更易维护的应用程序。
8 0
|
5天前
|
编译器 API PHP
PHP 8新特性及其对现代Web开发的影响
随着PHP 8的发布,这一广泛使用的服务器端脚本语言迎来了其发展历程中的一个重要里程碑。本文将深入探讨PHP 8引入的关键新特性,如JIT编译器、联合类型、匹配表达式等,并分析这些变化如何影响现代Web开发的实践和原则。通过具体案例和性能数据,我们将展示PHP 8如何优化代码编写、增强程序性能以及提升项目维护性,从而为开发者提供更高效、更可靠的开发体验。
7 0
|
10天前
|
JSON 安全 编译器
PHP 8的新特性及其对现代Web开发的影响
随着PHP 8的发布,这一流行的服务器端脚本语言带来了诸多改进和新增特性,这些变化不仅提升了语言本身的性能和安全性,还对现代Web开发实践产生了深远影响。本文将深入探讨PHP 8的关键新特性,包括JIT编译器、联合类型、命名参数、匹配表达式等,并分析它们如何优化代码编写、强化类型安全以及提高执行效率。同时,我们还将讨论这些新特性对开发者构建更快、更可靠应用程序的能力所产生的积极效应。
7 0
|
10天前
|
Web App开发
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问