【PHP入门】2.2 流程控制

-流程控制-

流程控制:代码执行的方向

2.2.1控制分类

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

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

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

*顺序结构

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

分支结构

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

2.2.2 IF分支

If:如果的意思,给定一个条件,同时为该条件设置多种(两种)情况,然后通过条件判断来实现具体的执行段

基本语法:if分支PHP也提供多种方式来实现

php 复制代码
//最简if:只有一段代码,但是可以选择是否执行
If('条件表达式'){
     //满足条件所要执行的内容; //顺序结构
}
php 复制代码
//基础if:有两面性,满足条件或者不满足条件都有对应的执行代码
If('条件表达式'){
//满足条件后执行的代码段;
}else{
//不满足条件执行的代码段;
}
php 复制代码
//复杂if结构:在判断条件之后,通常就有两种结果:满足或者不满足,在不满足之后还可以再次进行条件判断

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

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

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

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

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

2.2.3 Switch分支

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

Switch判断方式:是将条件放到分支结构内部判断

php 复制代码
//Switch基本语法:
Switch(条件表达式){     //所有条件判断:逐个进行
	Case 值1: //当前条件表达式的结果与值1相等(==)
	'要执行的代码段;'
	Break;    //在switch中,如果条件匹配成功,那么系统就不会再次匹配条件,会自动顺序执行向下的所有代码(case代码除外),需要中断执行:break表示中断switch(结束)。
	Case 值2:
	'要执行的代码段;'
 	Break;
//可以使用类似else的语法:都不匹配
Default:
//匹配失败的代码;
Break;
}

If和switch的选择

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

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

循环结构

循环结构:代码段在一定的控制下,可以多次执行

php 复制代码
在PHP中循环结构有以下几种:
For循环:通过条件、起始和终止判断执行
While循环:通过判断条件终止
Do-while循环:跟while差不多
Foreach循环:专门针对数组

2.2.4 For循环

For循环基本语法

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

For循环执行原理:

复制代码
1、 执行条件表达式1:定义初始化条件(执行一次)
2、 执行条件表达式2:判断条件(N次)
     2.1  满足条件:执行循环体
     2.2  不满足条件:循环结束
3、 执行循环体:(N次)
4、 执行条件表达式3:循环变量变化(N次)
5、 执行条件表达式2:判断条件(N次)
6、 重复执行3-4-2步骤:直到第2步不满足条件结束循环

For循环中条件表达式1的多变量定义

php 复制代码
//For循环特殊使用:for循环中对应的括号(条件)可以一个都没有(死循环):一定要避免出现
For(;;){
 //循环体
}

2.2.5 While循环

while循环基本语法:

php 复制代码
//条件初始化;
while(条件表达式){
//条件表达式就是判断边界条件
     循环体; 
//循环条件的变化
}

For与while的选择

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

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

2.2.6 do-while循环

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

php 复制代码
//do-while基本语法:
do{
//循环体
}while(条件表达式);

2.2.7 循环控制

循环控制:在循环内部对循环本身进行控制

中断控制:重新开始循环,循环体中还有其他内容,也再执行

php 复制代码
Continue 层级;    //默认是1(循环可以多层嵌套)

终止控制:循环直接结束

php 复制代码
Break 层级;       //默认是1

因为循环经常性会碰到嵌套(循环中间包含循环),如果在循环内部有些条件下,明确可以知道当前循环(或者说外部循环)不需要继续执行了,那么就是可以使用循环控制来实现:其中内部循环也可以控制到外部,就是通过使用层级参数。

php 复制代码
Continue 2;   //当前自己循环后面内容不再执行,同时外部循环如果还有循环体也不再执行,重新来过;
Break 2;      //当前自己循环结束,同时外部也结束(如果还有外部不受影响,继续执行)

2.2.8流程控制替代语法

流程控制替代语法:分支和循环结构的替代语法

PHP本身是嵌入到HTML中的脚本语言,需要在HTML中书写一些关于判断或者循环的结构语法,必须符合PHP标签规范,需要HTML与PHP进行混搭,如果使用原始的PHP代码那么会非常不美观。

需求:打印一个九九乘法表,使用表格来展示

在PHP书写到HTML中的这些大括号{}非常不美观,所以PHP提供了一种替代机制,让其可以不用书写大括号:

PHP中具体有哪些替代语法呢?PHP应该在HTML中只做数据输出,输出通常伴有条件判断和循环操作,因此PHP提供了对应分支结构和循环结构的替代语法:全部都是对应的一个模式:

php 复制代码
//左大括号{使用冒号替代:
//右大括号}使用end+对应的起始标记替代
If:if():  endif;
Switch:switch():  endswitch;
For
While
foreach
相关推荐
ByNotD0g18 小时前
Golang Green Tea GC 原理初探
java·开发语言·golang
qingyun98918 小时前
使用递归算法深度收集数据结构中的点位信息
开发语言·javascript·ecmascript
Aspect of twilight18 小时前
vscode python debug方式
ide·vscode·python·debug
努力学习的小廉18 小时前
【QT(三)】—— 信号和槽
开发语言·qt
陪我一起学编程18 小时前
uv包管理工具
python·uv·虚拟环境·包管理工具·项目工程化·项目规范·pip、conda、pdm
盼哥PyAI实验室18 小时前
Python自定义HTTP客户端:12306抢票项目的网络请求管理
开发语言·python·http
这儿有一堆花18 小时前
Python优化内存占用的技巧
开发语言·python
NaturalHarmonia18 小时前
【Go】sync package官方示例代码学习
开发语言·学习·golang
爱笑的眼睛1118 小时前
PyTorch自动微分:超越基础,深入动态计算图与工程实践
java·人工智能·python·ai
遥望九龙湖18 小时前
3.析构函数
开发语言·c++