PHP的流程控制语句

news2024/11/28 15:50:36

一.流程控制语句

1.if语句

PHP的if语句格式如下

if(表达式)

语句;

如果表达式的值为真,那么久顺序执行语句;否则,就会跳过该条语句,再往下执行。如果要执行的语句不指一条则用{},{}被称为语句组,格式如下:

if(表达式){

语句1:

语句2:

...

}

说明:rand()函数的作用是取得一个随机的整数,格式如下:

int rand(in mix,int max)

返回的mix~max之间的一个随机数,如果没有参数则返回0~RANM_MAX之间的随机整数。

2.if .... else语句

大多时候,宗是要再满足某个条件时执行一条语句,而在不满足该条件时执行其他语句。这是用if else语句。格式如下:

if(表达式){

语句1;

}else{

语句2;

}

3.elseif语句

if....else语句只能选择两种结果,要么执行真,要么执行假,但有时会出现两种以上的选择,这时可以使用elseif语句,格式如下:

if(表达式1){

语句1;

}else if (表达式2){

语句2;

}...

else{

语句n;

}

注意:if语句和elseif语句执行的条件是表达式的值为真,而else执行的条件是表达式的值为假。表达式的值不等于变量的值。

4.switch语句

虽然else if语句1可以进行多重选择,但使用很繁琐,为了避免if语句过于长,提高程序的可读性,可以使用switch分支控制语句,语法如下:

switch(变量或表达式){

case 常量表达式 1:

语句1;

break;

case 常量表达式2;

...

case 常量表达式n;

语句n;

break;

default;

语句n+1;

}

注意:switch语句根据变量或表达式的值,依次与case中的常量表达式的值相比较,如果不相等继续查找下一个case,相等就执行对应的语句直到结束或遇到break为止。

在执行switch语句时,即使遇到符合要求的case语句段,也会继续往下执行,直到语句结束。为了避免这种浪费时间和资源弟弟行为,一定要在每个case语句段后加上break语句,这里break语句的意思是跳出当前循环。

二。循环控制语句

1.while循环语句

while语句是php中最简单的循环语句,格式如下

while(表达式){

语句;

}

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

2.do...while循环语句

while语句还有另外一种形式,就是do...while。两者弟弟区别在于,do....while要比语句多循环一次。

当while表达式的值为假时,while循环直接跳出当前循环;

而do....while语句则是先执行一遍程序块,然后再对表达式进行判断。

3.for循环语句

for循环语句是php中最复杂的循环结构,格式如下:

for(初始表达式;条件表达式;迭代表达式){

语句;

}

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

注意:在for语句中无论采用循环变量递增或递减的方式,前提是一定确保循环能够结束,无限循环将导致程序的崩溃。

5.foreach语句

foreach在php4中只能用于数组,但在php5中又增加了对象的支持,格式如下:

foreach($array as $value)

语句;

foreach($array as %key =>$value)

语句;

foreach语句将遍历数组$array,每次循环时,将当前数组中的值赋给$value(或$key和$value),同时,数组,使指针向后移动直到遍历结束,当使用foreach语句时,数组指针将自动被重置所以不需要手动设置指针的位置。如:

 结果:

名称                        价格                数量                金额       

智能机器人           14998                 1                   14998            

数码相机              2588                1                        2588

天翼3G手机           2666                2                        5532

瑞士手表              66698                1                        66698

三.跳转语句

1.break语句

break关键字可以终止当前的循环,包括while,do...while,for,foreach和switch在内的所有控制语句。

break语句不仅可以跳出当前循环,还可以指定跳出几重循环。格式:

break $num;

其中,$num指定跳出几层循环

2.continue语句

continue关键字的作用没有break强大,它只能终止本次循环而进入到下一次循环中,也可以指定跳出几重循环。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Immer编写简洁的更新state逻辑

react官网推荐库use-immer:https://www.npmjs.com/package/use-immer 引入:import { useImmer } from "use-immer"; 优点: 简化代码: 只需要关注需要变动的部分,而 immer 本身将在后台处理其余部分。学习成本和替换代…

双碳目标下DNDC模型建模方法及在土壤碳储量、温室气体排放、农田减排、土地变化、气候变化中的实践应用

查看原文>>>双碳目标下DNDC模型建模方法及在土壤碳储量、温室气体排放、农田减排、土地变化、气候变化中的实践应用 目录 第一讲、DNDC模型介绍 第二讲、DNDC初步操作 第三讲、遥感和GIS基础 第四讲、DNDC气象数据 第五讲、DNDC土地数据 第六讲、DNDC土壤数据 …

【C语言】算法学习·Dijkstra算法详解

目录 Dijkstra算法设计 Dijkstra算法简介 Dijkstra算法的基本思想 Dijkstra贪心策略 完美图解 伪代码详解 完整代码 算法解析及优化拓展 ​使用优先队列的完整代码 Dijkstra算法设计 Dijkstra算法简介 Dijkstra算法是解决**单源最短路径**问题的**贪心算法** …

2021年国赛高教杯数学建模C题生产企业原材料的订购与运输解题全过程文档及程序

2021年国赛高教杯数学建模 C题 生产企业原材料的订购与运输 原题再现 某建筑和装饰板材的生产企业所用原材料主要是木质纤维和其他植物素纤维材料,总体可分为 A,B,C 三种类型。该企业每年按 48 周安排生产,需要提前制定 24 周的原材料订购和…

如何在 javascript 中按属性值查找数组中的对象

文章目录 使用 find() 方法按属性值在数组中查找对象使用 filter() 方法按属性值查找数组中的对象使用 JavaScript for 循环按属性值查找数组中的对象使用 JavaScript for...in 循环按属性值查找数组中的对象 数组指的是值的有序列表,每个值称为由索引指定的元素。 …

这所西安的985专硕爆冷,保护一志愿,过线即上岸!

本期为大家整理热门院校“西北工业大学”的择校分析,这个择校分析专题会为大家结合:初试复试占比、复试录取规则(是否公平)、往年录取录取名单、招生人数、分数线、专业课难度等进行分析。希望能够帮到大家! –所有数据来源于研招…

Plot、Scatter、Subplot函数用法

目 录 一、Plot()函数 二、Scatter()函数 三、Subplot()函数 一、Plot()函数 格式:matplotlib.pyplot.plot(x,y,format_string.**kwargs) 说明: x:x轴数据,列表或数组,可选(注:当绘制多条曲线时,不能省…

IT 系统巡检必须关注的指标总结

1. 系统整体架构 以下内容作为基本 IT 系统信息被首先调查记录,供分析参考使用。 ● 网络设备配置 ---设备型号, IOS 版本, 模块型号和数量,用途 ● 存储系统配置 ---设备型号, IO 带宽, Cache 容量,磁盘数量,接入模式,存储容…

Go项目配置管理工具---Viper

目录 Viper概述前言功能viper配置优先级 从Viper中获取值读取配置文件注册和使用别名 把值写入Viper设置默认值使用Set方法设置值把配置信息写入配置文件从io.Reader中读取配置信息到viper 监控Viper文件 Viper概述 前言 对于现代应用程序,尤其大中型的项目来说&a…

【MySQL】Mycat

文章目录 什么是Mycat为什么要用Mycatmycat能干什么各数据库中间件对比Mycat原理数据库中间件逻辑库逻辑表分片表分片规则全局表ER表非分片表分片节点节点主机mycat安装mycat核心配置schema.xmlserver.xmlrule.xml加密明文密码(可选) MyCat读写分离垂直拆…

OpenCV中的图像处理3.11(10) OpenCV中的图像变换

目录 3.11 OpenCV中的图像变换3.11.1 傅里叶变换目标理论Numpy中的傅里叶变换OpenCV中的傅立叶变换DFT的性能优化为什么Laplacian是一个高通滤波器?其他资源 翻译及二次校对:cvtutorials.com 编辑者:廿瓶鲸(和鲸社区Siby团队成员&…

2.3 YARN伪分布式集群搭建

任务目的 重点掌握 YARN 集群的相关配置学会启动和关闭 YARN 集群的两种方式能够使用 jps 命令查看进程的启动情况能够通过 UI 查看 YARN 集群的运行状态任务清单 任务1:YARN 集群主要配置文件讲解任务2:YARN 集群测试任务步骤 任务1:YARN 集群主要配置文件讲解 1.1 配置环…

基于多尺度图神经网络的流场预测,实现精度与速度的平衡

项目简介 本项目来源于飞桨AI for Science共创计划的论文复现赛题,复现论文为《AMGNET: multi-scale graph neural networks for flow field prediction》。该论文主要采用图神经网络,因为在计算流体力学中计算域被网格离散化,这与图结构天然…

将PDF1页分割为4页

运行效果 原始PDF 分割后PDF 一、python代码(用的是python3.9.0版本) import os import tempfile from pdf2image import convert_from_path from PIL import Image from PyPDF2 import PdfReader, PdfWriterdef split_pdf_page(pdf_path, output_path…

4G开发板-安卓手机开发套件-MTK主板开发板定制

开发板是一种用于嵌入式系统开发的电路板,它包含了各种硬件组件,如中央处理器、存储器、输入设备、输出设备、数据通路/总线以及外部资源接口等。为了满足特定的开发需求,嵌入式系统开发者通常会根据项目要求来定制开发板,当然用户…

2023年前端面试高频考点ES6

目录 ES6新增 数据类型 基本数据类型 引用数据类型 Null,NaN,Undefined toString,valueOf ,,Object.is() 判断数据类型:typeof运算符,instance of运算符,isPrototypeOf() 方…

数据分析第11课pandas时间序列(上+下)-第12期15,16课

数据分析思维:有逻辑性, 课前练习1 各大平台相继推出和迭代付费会员策略,如优酷会员、京东PLUS会员、网易云音乐黑胶VIP等,通过提供丰富的权益吸引用户成为付 费会员,提升用户黏性和忠诚度。请围绕付费会员回答以下问题: 以网易云音乐黑胶VIP为例,运营同学希望推出活动…

k8s 使用helm安装longhorn存储控制器

1.安装helm 参考:k8s helm安装使用_Apex Predator的博客-CSDN博客 2.配置基础环境 安装longhorn存储控制器需要用到iSCSI工具,所以需要在k8s所有节点上安装 yum -y install iscsi-initiator-utils 3.安装longhorn 3.1配置helm镜像源 helm repo ad…

kafka Ar 、ISR 、 OSR 已分配副本 同步中副本 、不同步副本 Controller 执行leader 重新分配

目录 Ar 、ISR 、 OSR 已分配副本 同步中副本 、不同步副本 Controller 执行leader 重新分配 Ar 、ISR 、 OSR 已分配副本 同步中副本 、不同步副本 AR分区所有已分配副本 ISR 在同步中的副本OSR 不同步副本 如果有一个节点挂掉,分区领导会渠道其他地方当上领导…

Git的理解以及在IDEA中的使用

什么是版本控制 版本控制是指记录一段时间内对一个文件或一组文件的更改的系统,称为“版本”。换句话说,这些版本将帮助您跟踪代码/项目中的更改,如果需要,还可以撤消这些更改。 当处理较大的项目时,这种能够比较、区…