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知识详解》系列教程。

相关推荐
isyangli_blog12 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb20081113 小时前
FastAPI APIRouter
开发语言·python
Benszen13 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆13 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木13 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
杨充13 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法
噜噜噜阿鲁~13 小时前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言
basketball61613 小时前
Go 语言从入门到进阶:4. 数组和MAP使用方法总结
开发语言·后端·golang
春生野草14 小时前
反射、Tomcat执行
java·开发语言
雪的季节15 小时前
企业级 Qt 全功能项目
开发语言·数据库·qt