【PHP入门】2.2 流程控制

-流程控制-

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

2.2.1控制分类

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

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

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

*顺序结构

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

分支结构

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

2.2.2 IF分支

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

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

//最简if:只有一段代码,但是可以选择是否执行
If('条件表达式'){
   
     //满足条件所要执行的内容; //顺序结构
}

2.2-1

//基础if:有两面性,满足条件或者不满足条件都有对应的执行代码
If('条件表达式'){
   
//满足条件后执行的代码段;
}else{
   
//不满足条件执行的代码段;
}

2.2-2

//复杂if结构:在判断条件之后,通常就有两种结果:满足或者不满足,在不满足之后还可以再次进行条件判断

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

2.2-3

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

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

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

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

2.2.3 Switch分支

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

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

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

2.3-4

If和switch的选择

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

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

循环结构

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

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

2.2.4 For循环

For循环基本语法

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

2.3-5

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的多变量定义

2.2-6

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

2.2-7

2.2.5 While循环

while循环基本语法:

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

2.2-8

For与while的选择

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

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

2.2.6 do-while循环

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

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

2.2-9

2.2.7 循环控制

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

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

Continue 层级;    //默认是1(循环可以多层嵌套)

2.2-10

终止控制:循环直接结束

Break 层级;       //默认是1

2.2-11

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

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

2.2.8流程控制替代语法

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

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

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

2.2-12

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

2.2-13

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

//左大括号{使用冒号替代:
//右大括号}使用end+对应的起始标记替代
Ifif():  endif;
Switchswitch():  endswitch;
For
While
foreach

相关推荐

  1. PHP流程控制

    2023-12-21 13:28:01       13 阅读
  2. PHP入门教程2:控制结构和函数

    2023-12-21 13:28:01       6 阅读
  3. 【Go语言入门:Go程序的流程控制语句】

    2023-12-21 13:28:01       35 阅读
  4. 【Go 快速入门】基础语法 | 流程控制 | 字符串

    2023-12-21 13:28:01       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-21 13:28:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-21 13:28:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-21 13:28:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-21 13:28:01       18 阅读

热门阅读

  1. 最小质因子之和

    2023-12-21 13:28:01       36 阅读
  2. 记录 | 源码编译Arm CPU版FFmpeg

    2023-12-21 13:28:01       46 阅读
  3. Python爬虫山东重庆各地区天气预报

    2023-12-21 13:28:01       37 阅读
  4. 在国产GPU寒武纪MLU上快速上手Pytorch使用指南

    2023-12-21 13:28:01       49 阅读
  5. Ubuntu Docker图形界面实现

    2023-12-21 13:28:01       40 阅读
  6. C++高级:深拷贝与浅拷贝在嵌入式系统中的应用

    2023-12-21 13:28:01       42 阅读
  7. uni-app 微信小程序蓝牙模块的解耦封装-持续更新

    2023-12-21 13:28:01       32 阅读
  8. 速盾网络:网络安全守护者

    2023-12-21 13:28:01       45 阅读
  9. SpringBoot缓存注解@Cacheable使用姿势介绍

    2023-12-21 13:28:01       42 阅读
  10. 算法:从入门到变通

    2023-12-21 13:28:01       40 阅读
  11. 面试算法63:替换单词

    2023-12-21 13:28:01       39 阅读