PHP8的循环控制语句-PHP8知识详解

我们在上一节讲的是条件控制语句,本节课程我们讲解循环控制语句。循环控制语句中,主要有for循环、while循环、do...while循环和foreach循环。

在编写代码时,经常需要反复运行同一代码块。我们可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。

1、for循环语句

for循环是一种常见的循环语句,用于指定循环条件循环体。它包含三个表达式,分别控制循环的初始化、条件和每次迭代后的操作。for循环是PHP的计数循环结构,其语法格式为:

复制代码
<?php
    for(初始表达式;条件表达式;迭代表达式){
        语句;
    }
?>

其中,初始化表达式在第一次循环时无条件取一次值;条件表达式在每次循环开始前求值,如果值为真,则执行循环体里面的语句。否则,跳出循环,继续往下执行;迭代表达式在每次循环后被执行。for循环语句的流程控制执行图如下:

接下来,我们看一个经典示例:1到100的和,代码如下:

复制代码
<?php //1-100利用for循环1-100累加
 $sum=0;//初始化sum值为0
for($i=1;$i<=100;$i++){//定义i,循环次数,一般求1-100的和,从1开始一直加到100
          $sum+=$i;//每次累加传给sum,然后i循环,直道100。
}
echo "1-100之间累加的和为:".$sum;
?>

执行结果为:

复制代码
1-100之间累加的和为:5050

2、while循环

while循环是PHP中最简单的循环语句,使用while关键字,只要指定的条件为真,就会不断执行循环体。语法格式如下:

复制代码
<?php
while(条件表达式){
     循环语句;
}
?>

当表达式的值为真时,将执行循环体的语句,执行结束以后,再返回到表达式继续继续判断,直到表达式的值为假,才跳出循环。

while循环语句的执行流程控制图如下:

下面,我们也用一个经典案例进行代码示范,输出10以内的偶数,代码如下:

复制代码
<?php
$num=1;  //声明一个https://www.phpfw.com/tag/zhengxing/https://www.phpfw.com/tag/bianliang/$num
$str="10以内的偶数为:"; //声明一个字符型变量$str
while($num <= 10){  //判断变量是否小于等于10
     if($num % 2 == 0){ //判断是否是偶数
          $str.=$num." ";  //给$sumhttps://www.phpfw.com/tag/fuzhi/到$str
     }
     $num++; //变量$sum加1
}
echo $str; //输出https://www.phpfw.com/tag/zifuchuan/$str
?>

运行结果如下:

复制代码
10以内的偶数为:2 4 6 8 10

3、do...while循环:

do...while循环先执行一次循环体,然后再判断条件是否为真。如果条件为真,则继续执行循环体,否则循环结束。

while循环和do...while循环的区别在于,do...while循环比while循环多循环一次。当while表达式的值为假时,while循环直接跳出当前循环。而do...while循环语句则是先执行一遍程序块,然后再对表达式进行判断。do...while循环语句控制流程图如下:

通过一个示范代码进行学习,我们输出10(不含)以内的整数。代码如下:

复制代码
<?php
$i = 0; //声明一个整型变量 $i
do {
    echo $i; //输出变量$i
    $i++;   //变量$i加1
} while ($i < 10); //输出小于10的变量$i
?>

输出结果为:

复制代码
0123456789

4、foreach循环

foreach循环用于遍历数组对象的元素。示范代码:

复制代码
<?php
$array = [1, 2, 3, 4, 5];
foreach ($array as $value) {
    echo $value;
}
?>

运行结果为:

复制代码
12345

到此为止,循环控制语句中的for循环、while循环、do...while循环和foreach循环就讲解完毕。欢迎你学习《PHP8知识详解》系列教程。

相关推荐
运维-大白同学1 小时前
go-数据库基本操作
开发语言·数据库·golang
动感光博1 小时前
Unity(URP渲染管线)的后处理、动画制作、虚拟相机(Virtual Camera)
开发语言·人工智能·计算机视觉·unity·c#·游戏引擎
蚰蜒螟2 小时前
深入解析JVM字节码解释器执行流程(OpenJDK 17源码实现)
开发语言·jvm·python
keke102 小时前
Java【14_2】接口(Comparable和Comparator)、内部类
java·开发语言
思茂信息2 小时前
CST软件对OPERA&CST软件联合仿真汽车无线充电站对人体的影响
c语言·开发语言·人工智能·matlab·汽车·软件构建
CN.LG2 小时前
Java 乘号来重复字符串的功能
java·开发语言
川川菜鸟2 小时前
2025长三角数学建模C题完整思路
c语言·开发语言·数学建模
萌新下岸多多关照2 小时前
Java中synchronized 关键字
java·开发语言
醍醐三叶2 小时前
C++文件操作--2 二进制文件操作
开发语言·c++
剽悍一小兔2 小时前
linux,我启动一个springboot项目, 用java -jar xxx.jar & ,但是没多久这个java进程就会自动关掉
开发语言