首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
PHP的标记风格
编码规范
常量的使用
内置常量
PHP中的变量声明
可变变量与变量的引用
变量作用域
变量的销毁
数据类型
标量类型的声明
算术运算符
字符串运算符
其它运算符
表达式
内置函数
自定义函数
函数传递参数值
函数返回值
文件包含
流程控制
循环控制结构
PHP 8的新变化1—match表达式
PHP 8的新变化2—联合类型和mixed类型
PHP 8的新变化3—参数列表中可以使用尾部逗号
实战演练1—条件分支结构综合应用
实战演练2—循环控制结构综合应用
当前位置:
首页>>
技术小册>>
PHP8入门与项目实战(2)
小册名称:PHP8入门与项目实战(2)
循环控制语句主要包括3种,即while循环、do…while循环和for循环。while循环在代码运行的开始检查表述的真假;而do…while循环则在代码运行的末尾检查表述的真假,即do…while循环至少要运行一遍。 1.while循环语句 while循环的结构为: ```php while (条件判断语句){ 命令执行语句; } ``` 其中,当“条件判断语句”为true时,执行后面的“命令执行语句”,然后返回条件表达式继续进行判断,直到表达式的值为假才能跳出循环,执行后面的语句。 while循环语句的流程控制图如图4-21所示。 ![](/uploads/images/20231207/d15d6564e3135d2ecee768a2d5cc6188.png) 【例4.16】 ![](/uploads/images/20231207/92b5d6ccc26598037a23080b05dfb4d4.png) 运行后结果如图4-22所示。 ![](/uploads/images/20231207/ab3adb142a92a3831198cc8571de5825.png) 本实例主要实现20以内的奇数输出。从1~20依次判断是否为奇数,如果是,则输出;如果不是,则继续下一次的循环。 2.do…while循环语句 do…while循环的结构为: ```php do{ 命令执行语句; }while(条件判断语句) ``` 先执行do后面的“命令执行语句”,其中的变量会随着命令的执行发生变化。当此变量通过while后的“条件判断语句”判断为false时,停止执行“命令执行语句”。 do…while循环语句的流程控制图如图4-23所示。 ![](/uploads/images/20231207/66acd742624ffa819d74d84a1717caa2.png) 【例4.17】 ```php <?php $aa = 0; //声明一个整数变量$aa while($aa != 0){ //使用while循环输出 echo "不会被执行的内容"; //这句话不会被输出 } do{ //使用do…while循环输出 echo "被执行的内容"; //这句话会被输出 }while($aa != 0); ?> ``` 运行后结果如图4-24所示。从结果可以看出,while语句和do…while语句有很大的区别。 ![](/uploads/images/20231207/68785050e3a50358421c56a7ba669082.png) 3.for循环语句 for循环的结构为: ```php for(expr1;expr2;expr3) { 执行命令语句 } ``` 其中expr1为条件的初始值,expr2为判断的最终值,通常都使用比较表达式或逻辑表达式充当判断的条件,执行完命令语句后,再执行expr3。 for循环语句的流程控制图如图4-25所示。 ![](/uploads/images/20231207/7eca0c9bfe46c3f7aaebb9bac9b86726.png) 【例4.18】 ```php <?php for($i=0;$i<4;$i++){ //使用for循环输出 echo "for语句的功能非常强大<br/>"; } ?> ``` 运行结果如图4-26所示,从中可以看出命令语句执行了4次。 ![](/uploads/images/20231207/fb3ed8dc58dd715c1e34ba4aabd13668.png) 4.foreach循环语句 foreach语句是常用的一种循环语句,经常被用来遍历数组元素。它的格式为: ```php foreach(数组as数组元素){ 对数组元素的操作命令; } ``` 可以根据数组的情况分为两种,即不包含键值的数组和包含键值的数组。 不包含键值的: ```php foreach(数组as数组元素值){ 对数组元素的操作命令; } ``` 包含键值的: ```php foreach(数组as键值 => 数组元素值){ 对数组元素的操作命令; } ``` 每进行一次循环,当前数组元素的值就会被赋值给数组元素值变量,数组指针会逐一移动,直到遍历结束为止。 【例4.19】 ```php <?php $arr=array("one", "two", "three"); foreach ($arr as $value) //使用foreach循环输出 { echo "数组值: " . $value . "<br/>"; } ?> ``` 运行结果如图4-27所示,从中可以看出命令语句执行了3次。 ![](/uploads/images/20231207/06afcf451362d458650d6ab2594cc08e.png) 5.流程控制的另一种书写格式 在一个含有多条件、多循环的语句中,包含多个“{}”,查看起来比较烦琐。流程控制语言的另一种书写方式是以“:”来代替左边的大括号,使用endif;、endwhile;、endfor;、endforeach;和endswitch;来替代右边的大括号,这种描述程序结构的可读性比较强。常见的格式如下。 条件控制语句中的if语句: ```php if(条件判断语句): 命令执行语句; elseif(条件判断语句): 命令执行语句; elseif(条件判断语句): 命令执行语句; … else: 命令执行语句; endif; ``` 条件控制语句中的switch语句: ![](/uploads/images/20231207/3eca5c66e497fc7cf22d89d77380a375.png) 循环控制语句中的while循环: ```php while(条件判断语句): 命令执行语句 endwhile; ``` 循环控制语句中的do…while循环: ```php do 命令执行语句 while(条件判断语句); ``` 循环控制语句中的for循环: ```php for(起始表述;为真的布尔表述;增幅表述): 命令执行语句 endfor; ``` 【例4.20】 ![](/uploads/images/20231207/7deb2017734c07e08fac903e2d635786.png) 运行结果如图4-28所示。从效果图可以看出,该代码使用新的书写格式实现了杨辉三角的排列输出。 ![](/uploads/images/20231207/f35ef4c7b791f35d68fb69f0415280d9.png) 6.使用break/continue语句跳出循环 使用break关键字用来跳出(也就是终止)循环控制语句和条件控制语句中switch语句的执行,例如: ![](/uploads/images/20231207/c623b1bb8c8e8efd2dcbfc36faf1bdff.png) 在这段程序中,while循环控制语句里面包含一个switch流程控制语句。在程序执行到break语句时,break会终止执行switch语句,或者是switch和while语句。其中,在“case 1”下的break语句跳出switch语句;“case 2”下的break 2语句跳出switch语句和包含switch的while语句;“default”下的break 1语句和“case 1”下的break语句一样,只是跳出switch语句。其中,break后带的数字参数是指break要跳出的控制语句结构的层数。 使用continue关键字的作用是跳开当前的循环迭代项,直接进入下一个循环迭代项,继续执行程序。下面通过一个实例说明此关键字的作用。 【例4.21】 ![](/uploads/images/20231207/bb5408d91e18a8225a3befbe05359189.png) 运行结果如图4-29所示。 ![](/uploads/images/20231207/cb054824758e0c4f43d22b518e33e43a.png) 其中,continue关键字在当n等于2的时候跳出本次循环,并且直接进入下一个循环迭代项,即n等于3。另外,continue关键字和break关键字一样,都可以在后面直接跟一个数字参数,用来表示跳开循环的结构层数。“continue”和“continue 1”相同,“continue 2”表示跳开所在循环和上一级循环的当前迭代项。
上一篇:
流程控制
下一篇:
PHP 8的新变化1—match表达式
该分类下的相关小册推荐:
Laravel(10.x)从入门到精通(二)
PHP8入门与项目实战(6)
PHP8入门与项目实战(4)
全面掌握Magento2-从配置到优化
Laravel(10.x)从入门到精通(十九)
Laravel(10.x)从入门到精通(七)
Magento零基础到架构师(内容设计)
PHP底层原理及源码分析
PHP合辑1-基础入门
PHP程序员面试算法宝典
Laravel(10.x)从入门到精通(十二)
PHP合辑4-字符串函数