PHP8条件控制语句-PHP8知识详解

我们昨天说了流程控制的结构有顺序结构、选择结构和循环结构。选择结构就是条件结构。

条件控制语句就是对语句中不同条件的值进行判断,进而根据不同的条件执行不同的语句。

在本文中,学习的是if语句、if...else语句、if...elseif语句和switch语句。

1、if语句

if语句是最为常见的条件控制语句。它的格式为:

复制代码
if(条件判断语句)
{
    执行语句;
}

这种形式只是对一个条件进行判断。如果条件成立,则执行命令语句,否则不执行。

如果<条件>成立(为true时)则执行<语句块>,如果条件不成立(为false)时,则继续执行"}"后面的语句。如:

复制代码
<?https://www.phpfw.com/tag/php/
$num = 12;  
if($num%2==0)  
{  
    echo "$num","是一个偶数";  
}
?>

执行结果如下:

复制代码
12是一个偶数

2、if...else语句

在条件成立时执行一块代码,条件不成立时执行另一块代码,请使用 if...else 语句。格式如下:

复制代码
if (条件判断语句)
{
执行语句1;
}
else
{
执行语句2;
}

当条件成立时执行<语句块1>,条件不成立时执行<语句块2>。如下面的代码:

复制代码
<?php
$num = 11;
if ($num % 2 == 0) {
    echo $num, '是一个偶数';
} else {
    echo $num, '不是一个偶数';
}
?>

运行结果如下:

复制代码
11不是一个偶数

3、if...elseif语句

在条件控制语句中,有时会出现多余两种的选择,可以使用if...elseif语句,它的语法格式如下:

复制代码
if(<条件1>)  
{  
    <语句块1>  
}  
elseif(<条件2>)  
{  
    <语句块2>  
}  
elseif(<条件n>)  
{  
    <语句块n>  
}

如下面的考试分数评级,代码如下:

复制代码
$score = 55;  
if($score>=90){  
    echo '优秀';  
}elseif($score>=80 && $score<90){  
    echo '好';  
}elseif($score>=70 && $score<80){  
    echo '良';  
}elseif($score>=60 && $score<70){  
    echo '及格';  
}else{  
    echo '不及格';  
}

输出结果如下:

复制代码
不及格

4、switch 语句

switch 语句的结构给出不同情况下可能执行的程序块,条件满足哪个条件块,就执行哪个。它的语法格式为:

复制代码
switch (条件判断语句)
{
case 判断结果a:
执行语句1;
break;
case 判断结果b:
执行语句2;
break;
......
default:
执行语句n;
}

"条件判断语句"的结果符合哪个可能的"判断结果",就执行其对应的"执行语句"。如果都不符合,则执行default对应的默认"执行语句n"。

我们用一个示例:

复制代码
<?php
switch(date("D")){
    case "Mon":
        echo "今天星期一<br/>";
        break;
    case "Tue":
        echo "今天星期二<br/>";
        break;
    case "Wed":
        echo "今天星期三<br/>";
        break;
    case "Thu":
        echo "今天星期四<br/>";
        break;
    case "Fri":
        echo "今天星期五<br/>";
        break;
	case "Sat":
        echo "今天星期六<br/>";
        break;
    default:
        echo "今天星期天";
}
?>

运行结果如下:

复制代码
今天星期六

温馨提示:运行上面的代码,每个人运行的时间不同,显示的结果不同,本文发布的时间是:2023年8月5日 星期六。

到此为止,if语句、if...else语句、if...elseif语句和switch语句就讲解完毕了。

相关推荐
damoluomu3 天前
挑 PHP CMS 之前,先学会看它的协议
php
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超3 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int3 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
CoderYanger3 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
伞伞悦读3 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
CCCCCCCCharlie3 天前
Linux进程控制四大核心操作
linux·开发语言