当前位置: 首页 > news >正文

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

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

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

PHP8的循环控制语句

1、for循环语句

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

<?phpfor(初始表达式;条件表达式;迭代表达式){语句;}
?>

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

Image

接下来,我们看一个经典示例: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循环语句的执行流程控制图如下:

Image

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

<?php
$num=1;  //声明一个整型变量$num
$str="10以内的偶数为:"; //声明一个字符型变量$str
while($num <= 10){  //判断变量是否小于等于10if($num % 2 == 0){ //判断是否是偶数$str.=$num." ";  //给$sum赋值到$str}$num++; //变量$sum加1
}
echo $str; //输出字符串$str
?>

运行结果如下:

10以内的偶数为:2 4 6 8 10

3、do…while循环:

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

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

Image

通过一个示范代码进行学习,我们输出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知识详解》系列教程。

相关文章:

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

我们在上一节讲的是条件控制语句&#xff0c;本节课程我们讲解循环控制语句。循环控制语句中&#xff0c;主要有for循环、while循环、do...while循环和foreach循环。 在编写代码时&#xff0c;经常需要反复运行同一代码块。我们可以使用循环来执行这样的任务&#xff0c;而不是…...

第八次作业

一&#xff0c;.什么是数据认证&#xff0c;有什么作用&#xff0c;有哪些实现的技术手段? 数据认证是指保证数据的真实性、完整性和可信度&#xff0c;以确保数据不被篡改或伪造。其作用包括但不限于&#xff1a; 保护关键数据不被恶意篡改或损坏 提供数据来源的可靠性和安全…...

LeetCode //C - 290. Word Pattern

290. Word Pattern Given a pattern and a string s, find if s follows the same pattern. Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s. Example 1: Input: pattern “abba”, s “dog c…...

[保研/考研机试] 括号匹配问题 C++实现

题目描述&#xff1a; 在某个字符串(长度不超过100)中有左括号、右括号和大小写字母&#xff1b;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序&#xff0c;找到无法匹配的左括号和右括号&#xff0c;输出原来的字符串&am…...

springBoot集成caffeine,自定义缓存配置 CacheManager

目录 springboot集成caffeine Maven依赖 配置信息&#xff1a;properties文件 config配置 使用案例 Caffeine定制化配置多个cachemanager springboot集成redis并且定制化配置cachemanager springboot集成caffeine Caffeine是一种基于服务器内存的缓存库。它将数据存储在…...

【瑞吉外卖】Git部分学习

Git简介 Git是一个分布式版本控制工具&#xff0c;通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件&#xff0c;Git仓库分为两种&#xff1a; 本地仓库&#xff1a;开发人员自己电脑上的Git仓库 远程仓库&#xff1a;远程服务器上的Git仓库…...

如何阐述自己做了一个什么样的东西

线上qps2000&#xff0c;主要的性能瓶颈在于出现在数据库I/O上。另外&#xff0c;如果是一个正常部署的容器&#xff0c;qps能达到几百就不错了。资讯服务现在做了静态的底层页&#xff0c;所以热点新闻多数会命中底层页&#xff0c;即便没有命中底层页&#xff0c;也会走多层的…...

TC3XX - MCAL知识点(二十二):QSPI 同步与异步 Mcal配置及代码实战

目录 1、MCAL配置 1.1、配置目标 1.2、同步QSPI配置 1.2.1、SpiGeneral 1.2.2、SpiMaxChannel 1.2.3、SpiMaxJob...

led台灯哪些牌子性价比高?推荐几款性价比高的护眼台灯

作为学龄期儿童的家长&#xff0c;最担心的就是孩子长时间学习影响视力健康。无论是上网课、写作业、玩桌游还是陪伴孩子读绘本&#xff0c;都需要一个足够明亮的照明环境&#xff0c;因此选购一款为孩子视力发展保驾护航的台灯非常重要。为大家推荐几款性价比高的护眼台灯。 …...

什么情况下容易发生锁表及如何处理

目录 什么情况下容易发生锁表发生锁表怎么解决 什么情况下容易发生锁表 在数据库中&#xff0c;当多个事务同时竞争访问同一个表的资源时&#xff0c;可能会发生锁表现象&#xff0c;导致性能下降甚至阻塞。以下情况容易导致锁表问题&#xff1a; 大事务操作&#xff1a;如果一…...

elk开启组件监控

elk开启组件监控 效果&#xff1a; logstash配置 /etc/logstash/logstash.yml rootnode1:~# grep -Ev "^#|^$" /etc/logstash/logstash.yml path.data: /var/lib/logstash path.logs: /var/log/logstash xpack.monitoring.enabled: true xpack.monitoring.elasti…...

Java Random 类的使用

Java中的Random类是用来生成伪随机数的工具类。它可以用来生成随机的整数、浮点数和布尔值。以下是Java Random类的一些常见用法&#xff1a; 创建Random对象&#xff1a; Random random new Random();生成随机整数&#xff1a; int randomNumber random.nextInt(); // 生…...

完美的分布式监控系统——Prometheus(普罗米修斯)与优雅的开源可视化平台——Grafana(格鲁夫娜)

一、基本概念 1、之间的关系 prometheus与grafana之间是相辅相成的关系。作为完美的分布式监控系统的Prometheus&#xff0c;就想布加迪威龙一样示例和动力强劲。在猛的车也少不了仪表盘来观察。于是优雅的可视化平台Grafana出现了。 简而言之Grafana作为可视化的平台&#xff…...

pycharm的Terminal中如何设置打开anaconda3的虚拟环境

在pycharm的File -> Settings -> Tools -> Terminal下面&#xff0c;如下图所示 修改为红框中内容&#xff0c;然后关闭终端在重新打开终端&#xff0c;即可看到anaconda3的虚拟环境就已经会被更新...

Jmeter(四) - 从入门到精通 - 创建网络测试计划(详解教程)

1.简介 在本节中&#xff0c;您将学习如何创建基本的 测试计划来测试网站。您将创建五个用户&#xff0c;这些用户将请求发送到JMeter网站上的两个页面。另外&#xff0c;您将告诉用户两次运行测试。因此&#xff0c;请求总数为&#xff08;5个用户&#xff09;x&#xff08;2…...

Flowable-结束事件-空结束事件

目录 定义图形标记XML内容 定义 空结束事件是最常见的一种结束事件&#xff0c;也是最简单的一种结束事件&#xff0c;只要把结束任务置于流程 或分支的最后节点&#xff0c;流程实例运行到该节点的时候&#xff0c;流程引擎就会结束该流程实例或分支。前面提 到&#xff0c;结…...

Elasticsearch:如何创建 Elasticsearch PEM 和/或 P12 证书?

你是否希望使用 SSL/TLS 证书来保护你的 Elasticsearch 部署&#xff1f; 在本文中&#xff0c;我们将指导你完成为 Elasticsearch 创建 PEM 和 P12 证书的过程。 这些证书在建立安全连接和确保 Elasticsearch 集群的完整性方面发挥着至关重要的作用。 友情提示&#xff1a;你可…...

数仓架构模型设计参考

1、数据技术架构 1.1、技术架构 1.2、数据分层 将数据仓库分为三层&#xff0c;自下而上为&#xff1a;数据引入层&#xff08;ODS&#xff0c;Operation Data Store&#xff09;、数据公共层&#xff08;CDM&#xff0c;Common Data Model&#xff09;和数据应用层&#xff…...

RedisTemplate.opsForGeo()用法简介并举例

RedisTemplate.opsForGeo()是RedisTemplate类提供的用于操作Geo类型&#xff08;地理位置&#xff09;的方法。它可以用于对Redis中的Geo数据结构进行各种操作&#xff0c;如添加地理位置、获取距离、获取位置信息等。 下面是一些常用的RedisTemplate.opsForGeo()方法及其用法…...

Android OkHttp源码分析--拦截器

拦截器责任链&#xff1a; OkHttp最核心的工作是在 getResponseWithInterceptorChain() 中进行&#xff0c;在进入这个方法分析之前&#xff0c;我们先来了 解什么是责任链模式&#xff0c;因为此方法就是利用的责任链模式完成一步步的请求。 拦截器流程&#xff1a; OkHtt…...

启XX辰-头部安全公司面试提问

自我介绍 对称加密有哪些&#xff0c;非对称加密有哪些&#xff0c;两者之间的主要差异 有过JS逆向的经验吗 非对称加密如何获取加密前的内容&#xff0c;已知公钥 如果就给你一个登录框&#xff0c;给出你的测试思路 对于在工作时&#xff0c;给你一个企业名&#xff0c;给出你…...

产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住

前言 产品经理和开发之间的矛盾&#xff0c;根源往往不在需求本身&#xff0c;而在于需求表达方式。一个合格的需求文档应该包含&#xff1a;功能描述、业务规则、边界条件、异常处理、验收标准。但现实中&#xff0c;很多PRD长这样&#xff1a;“用户点击支付后&#xff0c;系…...

2026年京东云OpenClaw/Hermes Agent配置Token Plan环境搭建指南

2026年京东云OpenClaw/Hermes Agent配置Token Plan环境搭建指南。OpenClaw是开源的个人AI助手&#xff0c;Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具&…...

GHelper:华硕笔记本性能调优的轻量级革命

GHelper&#xff1a;华硕笔记本性能调优的轻量级革命 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Expertbook, RO…...

如何快速掌握ncmdump:网易云音乐NCM格式解密完整指南

如何快速掌握ncmdump&#xff1a;网易云音乐NCM格式解密完整指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾为网易云音乐的NCM加密格式而烦恼&#xff1f;精心收藏的音乐无法在其他播放器中使用&#xff1f;ncmdump正是…...

为什么你的ElevenLabs甘肃话输出像“普通话带口音”?5个声学特征参数调试错误导致92%失真率

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;甘肃话语音合成失真的现象学观察 甘肃话作为中原官话陇中片的代表性方言&#xff0c;其声调曲折性强、入声残留明显、连读变调规则复杂&#xff0c;为语音合成系统带来显著挑战。在部署基于Tacotron2WaveGlow的…...

[SSD]SSD主控

SSD系统架构SSD系统由一块CPU主控&#xff0c;可以是ARM或者RISC-v&#xff1b;整个主控芯片分为三个部分&#xff0c;分别是主机接口控制器&#xff0c;缓存控制器和闪存控制器&#xff0c;它可以分为前端和后端&#xff0c;前端就是主机接口控制器和主机之间的通信&#xff0…...

为什么四羟基合铝酸钠中的羟基明明是氢氧根离子却叫做羟基?

一、为什么四羟基合铝酸钠中的「羟基」明明是 OH⁻ 离子&#xff0c;却叫做「羟基」&#xff1f; 这是一个很好的概念辨析问题&#xff0c;涉及到配位化学命名规则与无机化学传统命名的差异。 1. 在配位化合物中&#xff0c;OH⁻ 作为配体时的名称就是「羟基」 在配合物&#x…...

Sunshine游戏串流服务器架构深度解析:5个高级性能调优技巧与源码设计实战

Sunshine游戏串流服务器架构深度解析&#xff1a;5个高级性能调优技巧与源码设计实战 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine作为一款开源的自托管游戏串流服务器…...

英雄联盟Akari助手:一键智能配置,释放你的游戏潜能 [特殊字符]

英雄联盟Akari助手&#xff1a;一键智能配置&#xff0c;释放你的游戏潜能 &#x1f680; 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在…...