IE盒子

搜索
查看: 168|回复: 1

PHP基础3:流程控制

[复制链接]

3

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2023-1-18 16:56:11 | 显示全部楼层 |阅读模式
流程控制

顺序结构:代码从上往下,顺序执行(代码执行的最基本结构)
分支结构:给定一个条件,同时有多种可执行代码(块),然后会根据条件执行某一段代码
循环结构:在某个条件控制范围内,指定的代码(块)可以重复执行
顺序结构

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

在PHP中分为两种:if分支和switch分支
if分支

if:如果的意思,给定一个条件,同时为该条件设置多种情况,然后通过条件判断来实现具体的执行段
基本语法:if分支PHP也提供多种方式来实现
最简if:只有一段代码,但是可以选择是否执行
if(条件表达式){
    //满足条件要执行的代码//顺序结构
}
基础if:有两面性,满足条件或者不满足条件都有对应的执行代码
php  if(条件表达式){      //满足条件要执行的代码  }else{      //不满足条件要执行的代码  }
复杂if:在判断条件之后,通常就有两种结果:满足或者不满足,不满足之后还可以再进行条件判断
if(条件表达式1){
    //满足条件1要执行的代码
    }elseif(条件表达式2){
    //不满足条件1,但是满足条件2的代码
    }...//可以使用多个elseif来进行条件筛选
    else{
        //全部不满足要执行的代码
    }
注意:如果条件特别多才会采用复合if形式 1. 如果条件比较单一,会采用elseif方式 2. 如何判断条件不一致,建议使用嵌套
if分支适用于所有条件判断
switch分支

有一种情形存在,通过一个条件,此条件通常有多个值,每个值都会有对应不同的代码要执行。
switch判断方式:是将条件放到我们的分支内部判断
基本语法:
switch(条件){
        //所有条件判断:逐个进行
        case 值1:            //当前条件表达式结果与值1相等(==)
            要执行的代码段;
            break;           //如果条件匹配成功系统不会再匹配case,                                break来中断匹配
        case 值2:
            要执行的代码段
            break;
        default:             //匹配失败的代码
            要执行的代码段
            break;
}
if和switch的选择

  • if能做所有分支结构事情
  • switch处理的是条件比较多,同时比较单一,而且是固定值匹配的分支结构
循环结构

代码段在一定的控制下,可以多次执行
在PHP中有以下几种循环:

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

for(条件表达式1;条件表达式2;条件表达式3){
    //条件表达式1:定义初始化条件,可以有多种赋值语句存在,使用逗号分隔
    //条件表达式2:边界判定,限定循环执行的次数
    //条件表达式3:用来执行条件变化(自操作)
    循环体;
}
示例:从1到10输出:初始为1,结果为10
for($i=1;$i<=10;$i++){
    echo $i,'<br>';
}
for循环执行原理:

  • 执行条件表达式1:定义初始化条件(执行1次)
  • 执行条件表达式2:判断条件(N次)
2.1 满足条件:执行循环体
2.2 不满足条件:循环结束

  • 执行循环体(N次)
  • 执行条件表达式3:循环变量变化(N次)
  • 重复执行2-4,直到第2步不满足条件结束循环
for($i=1,$end=10;$i<=$end;$i++){
    echo $i,'<br>';
}//条件表达式1的多变量定义
for循环的特殊使用:for循环里的括号可以没有条件foe(;;),分号不能少
while循环

先执行条件,后判断循环体
//条件初始化
while(条件表达式){
    //条件表达式就是判断边界条件
    循环体;//循环条件的变化
}
示例:从1到10输出:初始为1,结果为10
$i=1;
while($i<=10){
    echo $i++,'<br>';
}
for与while的选择:

  • 如果是基于固定已知条件(数值而且是有规律的变化)使用for循环
  • while可以做灵活的条件判定(while使用的比较多)
do-while循环

先执行循环体,后判断条件
do{
    循环体;
}while(条件表达式);
示例:输出1-10之间的偶数(条件判定加入)
$i=1;
do{
    if($i % 2 != 1){
        echo $i++,'<br/>';
    }else{
    $i++;}
}while($i<=10);
循环控制

循环控制:在循环内部对循环本身进行控制
中断控制:重新开始循环,循环体中还有其他内容,也在执行
continue 层级;   // 默认是1
终止控制:循环直接结束
break 层级;    //默认是1
示例:输出1到100之间5的倍数
$i=1;
while($i<=100){
if($i % 5 !=0){
    //说明当前不是5的倍数
    $i++;
    continue;//重新循环
    }
    echo $i++,'<br>';//输出数值
}
因为循环经常性会碰到嵌套(循环中间包含循环),如果在循环内部有些条件下,明确可以知道当前循环(或者说外部循环)不需要继续执行了,那么就是可以使用循环控制来实现:其中内部循环也可以控制到外部,就是通过使用层级参数
continue2;:当前自己循环后面内部不再执行,同时外部循环如果还有循环也不再执行,重新来过
break2;:当前自己循环结束,同时外部循环结束(如果还有外部不受影响,继续执行)
流程控制替代语法

分支和循环结构的替代语法
PHP本事是嵌入到HTML中的脚本语言,需要在HTML中书写一些关于判断或者循环的结构语法,必须符合PHP标签规范,需要HTML与PHP进行混搭,如果使用原始的PHP代码那么会非常不美观
示例:打印九九乘法表,使用表格来展示
<table border=1>
    <?php for($i=1;$i<10;$i++){?>
    <tr>
        <?php for($j =1;$j<=$i;$j++){?>
        <td>
        <?php echo $i.'*'.$j.'='.$i*$j;?>
        </td>
        <?php }?>
    </tr>
    <?php }?>
</table>在PHP书写到HTML中的这些大括号非常不美观,所以PHP提供了一种替代机制,让其可以不用书写大括号:
for(;;) { →for(;;):
}            →endfor:
PHP的替代语法:PHP在HTML只做数据输出,输出常伴有条件判断和循环操作,因此PHP提供了对应分支结构和循环结构的替代语法:全部都是对应的一个模式:
左大括号{使用冒号替代:
右大括号}使用end+对应的起始标记替代
回复

使用道具 举报

2

主题

8

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2025-6-18 03:50:20 | 显示全部楼层
看起来好像不错的样子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表