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

【PHP】流程控制-ifswitchforwhiledo-whilecontinuebreak

文章目录

  • 流程控制
    • 顺序结构
    • 分支结构
      • if分支
      • switch分支
    • 循环结构
      • for循环
      • while循环
      • do-while循环
      • continue和break

流程控制

顺序结构:代码从上往下,顺序执行。(代码执行的最基本结构)

分支结构:给定一个条件,同时有多种可执行代码(块),然后会根据条件执行某一段代码

循环结构:在某个条件控制范围内,指定的代码(块)可以重复执行

顺序结构

顺序结构:最基本结构,所有代码默认都是从上往下依次执行

分支结构

在PHP中,分支结构主要有两种:if分支和switch分支

if分支

版本1:

if(条件表达式){//满足条件所要执行的内容; //顺序结构
}

版本2:

if(条件表达式){//满足条件后执行的代码段;
}else{//不满足条件执行的代码段;
}

版本3:

if(条件表达式1){//满足条件表达式1的代码段;
}elseif(条件表达式2){//不满足表达式1条件,但是满足表达式2的代码;
}//可以使用多个elseif来进行再次条件筛选
else{//全部不满足要执行的代码;
}

注意:如果条件特别多才会采用复合if形式

1.如果条件比较单一(同一个条件),会采用elseif复合方式

2.如果判断条件不一致,建议使用嵌套语法(不宜有太多层嵌套:影响代码美观)

If分支,适用于所有的条件判断(分支结构)


switch分支

switch分支:有一组情形存在,同过一条件,通常有多个值,但是每一个值都会有对应不同的代码要执行

基本语法:

switch(条件表达式){//所有条件判断:逐个进行case1:					//当前条件表达式的结果与值1相等要执行的代码段;break;//在switch中,如果条件匹配成功,那么系统就不会再次匹配条件,会自动顺序执行向下的所有代码(case代码除外),需要中断执行case2:   //要执行的代码段;break;//....default://匹配失败的代码;break;}

if和switch的选择

1.if能做所有的分支结构事情

2.switch处理的是条件比较多,同时比较单一,而且是固定值匹配的分支结构


循环结构

在PHP中循环结构有以下几种:

  • for循环:通过条件、起始和终止判断执行
  • while循环:通过判断条件终止
  • do-while循环:跟while差不多
  • foreach循环:专门针对数组

for循环

基本语法

//条件表达式1:定义初始化条件,可以有多种赋值语句存在,使用逗号分隔即可
//条件表达式2:边界判定,限定循环执行的次数
//条件表达式3:用来执行条件变化(自操作)
for(条件表达式1;条件表达式2;条件表达式3){//循环体
}

例子1:从1输出到10

for($i = 0;$i <= 10;$i++)  echo " ".$i;

例子2:死循环

for(;;) 

while循环

基本语法

//条件表达式就是判断边界条件
while(条件表达式){循环体;		//循环条件的变化
}

例子1:从1输出到10

$i = 0;
while($i <= 10) 
{echo $i." ";$i++;
}

例子2:死循环

while(1){}

for与while的选择

1.如果是基于固定已知条件(数值而且是有规律的变化),使用for循环

2.while可以做灵活的条件判定(while使用的比较多)


do-while循环

do-while:看着很像while,while首先进行条件判定然后执行循环体,有可能出现第一次就条件不满足,那么就会直接失败(循环体一次都不执行)

  • do-while就是先干了再说(执行循环体),后判断条件(至少会执行一次循环体)

基本语法

do{//循环体
}while(条件表达式);

continue和break

continue:跳过本轮循环,执行下一轮循环

break:跳出本次循环,不再执行

http://www.lryc.cn/news/138068.html

相关文章:

  • Pytorch-day04-模型构建-checkpoint
  • 使用Xshell7控制多台服务同时安装ZK最新版集群服务
  • python numpy array dtype和astype类型转换的区别
  • 浮动属性样式
  • keepalived双机热备 (四十五)
  • SpringBoot整合阿里云OSS,实现图片上传
  • Dynaminc Programming相关
  • 使用 Elasticsearch 轻松进行中文文本分类
  • MNN学习笔记(八):使用MNN推理Mediapipe模型
  • 主力吸筹指标及其分析和使用说明
  • Python高光谱遥感数据处理与高光谱遥感机器学习方法教程
  • 【洛谷】P1678 烦恼的高考志愿
  • 开机自启CPU设置定频
  • 嵌入式Linux开发实操(十二):PWM接口开发
  • 消息中间件介绍
  • [Unity] 基础的编程思想, 组件式开发
  • SVN 项目管理笔记
  • Android获取手机已安装应用列表JAVA实现
  • 【校招VIP】有一个比赛获奖项目和参与的开源小项目,秋招项目竞争力够不够?三个标准,自己都可以估算
  • 量化开发学习入门-概念篇
  • 【草稿】关于文本句子分割(中文+英文)以及向量处理
  • 【瑞吉外卖】所遇问题及解决方法
  • 【Hugo入门】基础用法
  • Java实现一个简单的图书管理系统(内有源码)
  • 网络安全等级保护2.0
  • 【sql】MongoDB 增删改查 高级用法
  • 怎么做才能有效更新和优化产品手册文档
  • #P0867. 小武老师的烤全羊
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR提升网络稳定小tips来啦!
  • C 语言学习