精通【PHP循环结构知识】

本文详细介绍了PHP中的for、while和do-while循环,以及如何通过break、continue和return语句控制循环流程。着重讲解了循环结构的使用和避免死循环的方法。
摘要由CSDN通过智能技术生成

在这里插入图片描述


👨‍💻个人主页@开发者-曼亿点

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 曼亿点 原创

👨‍💻 收录于专栏PHP程序开发

🅰

请添加图片描述



前言

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体。当反复执行这段循环体时,需要在合适的时候把循环条件改为假.从而结束循环,否则循环将一直执行下去,形成死循环。在PHP中,循环语句有三种形式分别是 for 循环、while 循环和 do-while 循环


🎶(1) for 循环


for循环的语法格式如下:

for($i = 0; $i < 10; $i++)
{
//循环体语句
}

循环语句包含如下四个部分:
1.初始化语句:一条或多条语句,这些代码用于完成一些初始化工作。初始化语句在循环开始之前执行,如:$i=0。

2.循环条件:是一个表达式,它能决定是否执行循环体,如$i<10:。

3.循环体:是循环的主体,如果循环条件允许,这个代码块将被重复执行。如果这个代码块只有一行语句,那么这个代码块的花括号可以省略。

4.迭代语句:这个部分在一次循环体执行结束后,对循环条件求值之前执行,通常用于控制循环条件中的变量,使得循环在合适的时候结束,如$i++;。

下面演示了用for 循环实现输出 10条欢迎语句,在每条语句后面添加了换行标签br />。

<?php
for($i = 0; $i < 10;$i++)
{
//循环体语句//变量$i 后面有一个空格,否则字符串不能解析变量
echo"第$i for 次循环:"."Hello, PHP!","<br />";
}
?>

运行结果:
在这里插入图片描述


🎶(2)while循环


whie循环的语法格式如下:

[初始化语句]
while(循环条件)
{
//循环条件语句
[迭代语句]
}

while循环每次执行循环体之前,先对表达式求值,如果值为ue,则运行循环体都分如果为假,就停止执行循环体。从while的语法格式中来看,迭代语句总是位于循环体的最后,因此只有当循环体能成功执行完成时,while循环才会执行选代语句。while环结构流程图与 for 循环相同。

while循环输出语句:

<?php
//初始化语句,定义变量$i
$i=0;
while($i < 10){
//循环体语句
//注意:变量$1 后面有一个空格,否则字符串不能解析变量
echo"第$i 次 while 循环:"."Hellow,PHP"."<br/>";
// 迭代语句
$i++;
}
?>

🦖运行结果的显示:
在这里插入图片描述
使用 while 循环时,一定要保证循环条件(即 whie 后的表达式:$i<10)有变成false 的时候,否则这个循环将成为一个死循环,永远无法结束这个循环。


🎶(3)do-while


do-while循环与while循环的区别在于:while循环是先判断表达式,如果老达式为真则执行循环体;而 do-while循环则先执行循环体,然后判断表达式,如果表达式为真则执行下一次循环,否则中止循环。do-while 循环的语法格式如下:

[初始化语句]
do{
//循环条件语句
[迭代语句]
}while(表达式)

与 while 循环不同的是,do-while 循环的表达式后面必须有一个分号,这个分号表明循环结束。在 do-while 中即使表达式的值开始就是假,do-while循环也会执行循环体因此,do-while 循环的循环体至少执行一次。而 while 循环的循环体可以不执行。

do-while循环输出语句:

<?php
//初始化语句,定义变量 $i
$i =0;
do{
//循环体语句
//注意:变量$i后面有一个空格,否则字符串不能解析变量
echo"第$i 次wh11e循环:"."Hello,PHP!"."<br/>";
//选代语句,改变循环条件
$i++;
}while($i < 10);
?>

运行结果:
在这里插入图片描述


🎶(4)控制循环结构


PHP 提供了 continue 和 break 来控制循环结构。除此之外,return 可以结束整个方法当然也就结束了一次循环。

🐤break语句

在某些时候,我们需要在某种条件出现时,强行终止结束循环,而不是等到循环条件为lse时。此时,可以使用break来完成这个功能。bredk 用于完全结束一个循跳出循环体。不管是哪种循环,一日在循环体中遇到bedk,系统将完全结束该循开始执行循环之后的代码。

案例代码 :循环输出10次欢迎语句,并在第5次时自动结束整个循环

<?php
//初始化语句,定义变量 $i
$i =0;
while($i < 10){
//循环体语句
//注意:变量$i后面有一个空格,否则字符串不能解析变量"
echo"第$i 次while 循环"."Hellow,php!"."<br/>";
//迭代语句,改变循环条件
$i++;
//设置第五次循环时,结束整个循环
if($i==5){
	break;
}
}
echo "while 循环体外部代码";
?>

将看到 $=5 时执行语句中的代码,while循环体内遇到 break语句程序直接跳出该循环,执行 while 循环后的打印语句:echo"while循环体外部代码":
在这里插入图片描述
break语句的功能总结如下:
①break 语句通常在循环中与条件语句一起使用,若条件表达式为真,将跳出循环控制流转向循环后面的语句;
②如果已执行 break 语句,就不会执行循环体中位于 break 语句后的语句;
③在多层循环中,一个 break 语句只能向外跳出一层循环。

🐤continue语句

continue 的功能与 break 有点类似,区别是 connue 只是中止本次循环,接着开始下一次循环。而 break 则是完全终止循环。可以理解为continue 的作用是跳过当次循环中剩下的语句,重新开始新的循环。说明了 break 语句和 continue 讯句引起的控制转移的情况。

案例代码:演示了如何跳出本次循环,案例求整数1~20的累加值,但跳过所有个位数为3的数:

<?php
//定义变量 $result,保存求和结果
$resu1t=0;
for($i=1;$i <= 20; $i++){
//循环体语句
//设置个位数为3时,结束本次循环
if($i %10==3){
	echo"<span style='color:red'>第$i 次循环值:$i 个位数为 3,跳过计算"."</span><br/>";
	continue;
}
echo"第 $i 次循环值:$i"."<br />";
$result += $i;
}
echo "result = $result";
?>

运行结构如图:
在这里插入图片描述
continue语句的功能总结如下:
①与break 语句相同,contnue语句通常在循环中与条件语句一起使用,用来加速循环;
②在循环中遇到 continue 语句后,就不会执行循环体中位于 continue 语句后的语句
③ continue 语句用于结束当前循环,继续下一次循环。

🐤return 语句

retum 关键字并不是专门用于跳出循环的,retumm的功能是结束一个方法。当一个方法执行到一个retumm 语句时(retum 关键字后还可以跟着变量、常量和表达式),这个方法将被结束,后面的所有代码将不会被执行。
前面介绍的所有循环案例代码都没有放在方法中,而是直接放在一个PHP文件中-旦在循环体内执行到一个retum语句,将会结束该程序,后面的所有代码将不会被执行,循环自然而然也随之结束,进而整个 PHP 文件也结束执行。案例代码 6-7演示了使用 retum 退出循环。

retumn 语句退出循环:

<?php
for ($i=1;$i <= 100; $i++)
{
//循环体语句
//设置个位数为3时,结束本次循环,注意 $1 和中文”。"之间有空格
if($i == 3)
{
	echo"<span style='color:red'>第$i 次循环值:$i 。退出,后面语句不执行".
	"</span><br />";
	return;
}
echo"第$i 次 while 循环值:$i"."<br />";
}
echo"循环体外部语句,不会被执行";
?>

运行结构:
在这里插入图片描述
运行上面程序,循环只能执行到i-1时,当i=1时程序将完全结束。从这个运行结果来看,虽然 retum 并不是专门用于循环结构控制的关键字,但通过 retu 语句确实可以结束一个循环。与continue 和break不同的是,retumm 直接结束整个方法或 PHP 文件而不管这个 retumm 处于多少层循环之内。

结束语🥇

以上就是PHP程序设计
持续更新PHP程序设计教程,欢迎大家订阅系列专栏🔥PHP程序开发你们的支持就是曼亿点创作的动力💖💖💖
请添加图片描述

评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曼亿点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值