精通【PHP循环结构知识】

在这里插入图片描述


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

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

👨‍💻 本文由 曼亿点 原创

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

🅰

请添加图片描述


文章目录

    • 🅰
    • 前言
    • 🎶(1) for 循环
    • 🎶(2)while循环
    • 🎶(3)do-while
    • 🎶(4)控制循环结构
      • 🐤break语句
      • 🐤continue语句
      • 🐤return 语句
        • 结束语🥇


前言

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体。当反复执行这段循环体时,需要在合适的时候把循环条件改为假.从而结束循环,否则循环将一直执行下去,形成死循环。在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程序开发你们的支持就是曼亿点创作的动力💖💖💖
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/505838.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

怎么打包出release.aar包

第一种 选择build variant 更改成release 第二钟 在gradle中选择相应任务来编译 选择assemble release如果没有这个选项&#xff0c;可能是你没有开启那个Task 收集的选项

Acrobat Pro DC 2023 for Mac PDF编辑管理软件

Acrobat Pro DC 2023 for Mac是一款功能强大的PDF编辑和管理软件&#xff0c;旨在帮助用户轻松处理PDF文件。它提供了丰富的工具和功能&#xff0c;使用户可以创建、编辑、转换和注释PDF文件&#xff0c;以及填写和签署PDF表单。 软件下载&#xff1a;Acrobat Pro DC 2023 for …

2024年泰迪杯数据挖掘B题详细思路代码文章教程

目前b题已全部更新包含详细的代码模型和文章&#xff0c;本文也给出了结果展示和使用模型说明。 同时文章最下方包含详细的视频教学获取方式&#xff0c;手把手保姆级&#xff0c;模型高精度&#xff0c;结果有保障&#xff01; 分析&#xff1a; 本题待解决问题 目标&#…

QT-左框选项卡软件界面框架

QT-左框选项卡软件界面框架 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include <QTextBrowser> #include <QLabel> #include <QPushButton> #include <QSpacerItem> #include <QToolButton> #include <QDebug> #i…

Ribbon有哪些负载均衡策略

负载均衡类都实现了IRule接口。 RandomRule&#xff1a;随机的选用一个实例 RoundRobinRule&#xff1a;轮询的使用实例 RetryRule&#xff1a;在轮询的基础上加了一个错误重试机制&#xff0c;在deadline时间内会不断的重试 WeightResponeTimeRule&#xff1a;根据权重去做…

WebGIS 之 vue3+vite+ceisum

1.项目搭建node版本在16以上 1.1创建项目 npm create vite 项目名 1.2选择框架 vuejavaScript 1.3进入项目安装依赖 cd 项目名 npm install 1.4安装cesium依赖 pnpm i cesium vite-plugin-cesium 1.5修改vite.config.js文件 import { defineConfig } from vite import vue fr…

【Docker笔记05】【网络模式】

一、前言 本系列是根据 B 站 尚硅谷 Docker 视频 学习记录笔记。因为没有视频课件&#xff0c;部分内容摘自 https://www.yuque.com/tmfl/cloud/dketq0。 本系列仅为自身学习笔记记录使用&#xff0c;记录存在偏差&#xff0c;推荐阅读原视频内容或本文参考笔记。 二、简单介…

0.5米多光谱卫星影像在农业中进行地物非粮化、非农化监测

一、引言 随着科技的发展&#xff0c;卫星遥感技术已经成为了农业领域中重要的数据来源。其中&#xff0c;多光谱卫星影像以其独特的优势&#xff0c;在农业应用中发挥着越来越重要的作用。本文将重点探讨0.5米加2米多光谱卫星影像在农业中的应用。 二、多光谱卫星影像概述 多…

金融汽车科技LLM

汇丰银行 众安保险 1. AIGC重塑保险价值链 小额高频 2.构建智能应用的技术方案演进 增加微服务 长记忆&#xff1a;向量库短记忆&#xff1a;对话历史&#xff0c;思考路径&#xff0c;执行历史 中台架构设计 蔚来汽车在大模型的应用实践 公司介绍 应用架构 应用实践 4.大…

【洛谷 P8700】[蓝桥杯 2019 国 B] 解谜游戏 题解(字符串+映射+周期性)

[蓝桥杯 2019 国 B] 解谜游戏 题目背景 题目描述 小明正在玩一款解谜游戏。谜题由 24 24 24 根塑料棒组成&#xff0c;其中黄色塑料棒 4 4 4 根&#xff0c;红色 8 8 8 根&#xff0c;绿色 12 12 12 根 (后面用 Y 表示黄色、R 表示红色、G 表示绿色)。初始时这些塑料棒排…

学习率对精度和损失的影响研究

1 问题 在学习深度学习的过程中&#xff0c;欲探究优化器的学习率对精度和损失的影响。 2 方法 测试不同学习率下网络的性能。 控制其余变量&#xff1a; Beach_size256optimizer torch.optim.SGD网络为三层全连接网络&#xff08;784->512->10&#xff09;训练周期100 …

MySQL MHA高可用数据库

文章目录 MySQL MHA高可用数据库搭建MySQL MHA模拟故障故障修复&#xff1a; MySQL MHA高可用数据库 MHA&#xff08;MySQL High Availability&#xff09;是一个开源的高可用解决方案&#xff0c;用于实现MySQL主从复制集群的故障自动切换。MHA的主要目的是确保MySQL数据库集…

规划控制如何兼顾安全与舒适性

规划控制如何兼顾安全与舒适性 附赠自动驾驶学习资料和量产经验&#xff1a;链接 **导读&#xff1a;**自动驾驶技术研发对于“安全第一”的追求是毋庸置疑的&#xff0c;但是这中间可能就忽视了舒适性。 因此&#xff0c;今天我想给大家分享的是&#xff0c;自动驾驶研发如何…

微信小程序(黑马优购:登录)

1.点击结算进行条件判断 user.js //数据 state: () >({ // address: {} address: JSON.parse(uni.getStorageSync(address) || {}), token: }), my-settle.vue computed: { ...mapGetters(m_cart,[checkedCount,total,checkedGoodsAmount]), …

@JsonProperty和@JSONField注解的区别

JSON&#xff08;JavaScript Object Notation&#xff09; json是一种常见的数据交换的轻量级数据格式。HTTP协议传输数据可以有多种数据格式&#xff0c;比如下面几种常见数据传输格式&#xff0c;除此之外还有其他的数据交换格式。 数据传输类型编码类型示例表单格式applic…

Qt使用opencv,进行视频录制,功能打开、关闭摄像头,开始、结束录制视频,暂停、继续录制,并保存视频文件

1.效果图 2 代码实现 2.1 .h文件 #ifndef VIDEORECORDWIDGET_H #define VIDEORECORDWIDGET_H#include <QWidget>#include<QFileDialog>#include <QImage> #include <QLabel> #include <QTimer> #include <opencv2/opencv.hpp>using name…

金三银四面试题(九):JVM常见面试题(3)

今天我们继续探讨常见的JVM面试题。这些问题不比之前的问题庞大&#xff0c;多用于面试中JVM部分的热身运动&#xff0c;开胃菜&#xff0c;但是大家已经要认真准备。 你能保证GC 执行吗&#xff1f; 不能&#xff0c;虽然你可以调用System.gc() 或者Runtime.gc()&#xff0c…

JVM剖析

0.前言 Java 是当今世界使用最广泛的技术平台之一。使用 Java 或 JVM 的一些技术包括&#xff1a; Apache spark用于大数据处理&#xff0c;数据分析在JVM上运行;用于数据流的Apache NiFi在内部使用的也是 JVM;现代 Web 和移动应用程序开发中使用的React native使用 的也包含…

nginx的缓存和gzip

nginx的缓存 缓存的基本思想是利用客户端访问的时间局限性&#xff0c;将客户端访问过的内容做一个副本&#xff0c;在一定时间内存放到本地&#xff0c;当改数据下次被访问时&#xff0c;不必连接到后端服务器反复去查询数据&#xff0c;而是由本地保存的副本响应数据。 保存…

node:ReferenceError: XMLHttpRequest is not defined

node&#xff1a;ReferenceError: XMLHttpRequest is not defined 1 前言 node执行如下代码&#xff1a; new XMLHttpRequest()报错提示&#xff1a;ReferenceError: XMLHttpRequest is not defined 2 解决 2.1 可能原因是没有安装xmlhttprequest npm install xmlhttpreq…