有3种:1、if else语句,语法“if(条件){代码;}else if(条件){代码;}else{代码;}”;2、switch case语句,语法“switch(表达式){case 值1:语句块;break;...case 值n:语句块;break;default:语句块;}”;3、“表达式1?表达式2:表达式3”语句,会根据表达式1的结果在另外两个表达式中选择一个并执行。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

php有3种判断语句:

  • if else语句

  • switch case语句

  • 三元运算语句

1、if else语句

if语句执行时先对条件进行判断,然后根据判断结果做出相应的操作。它又可以细分为三种,分别是 if 语句、if...else 语句、if...else if...else 语句。

  • if 语句

if 语句是流程控制中最简单的一种。只判断某个条件是否为真,如果为真就执行特定的语句块。语法格式如下:

if (判断条件) {
    语句块;
}
  • if...else 语句

if 语句只能对判断结果为真的情况执行操作,这在很多情况下是不够的,于是就有了 if...else 这种形式的语句。与 if 判断不同,if...else 语句不仅对判断结果为真的情况执行操作,对非真的情况也可以执行相应的操作。

else 语句延伸了 if 语句,可以在 if 语句中表达式的值为 FALSE 时执行相应的语句。另外需要注意的是,else 语句是 if 语句的从句,必须和 if 语句一起使用,不能单独存在。

if...else 语句的语法格式如下:

if (判断条件) {
    语句块 1;
} else {
    语句块 2;
}

在上面的格式中,如果“判断条件”为真,则执行“语句块 1”;否则执行“语句块 2”。“语句块 1”和“语句块 2”都可以包含多条语句。与 if 语句相同的是,如果“语句块 1”和“语句块 2”中都只包含一条语句的话,可以省略大括号{ }。

  • if...else if...else 语句

else if 语句和 else 语句一样,它延伸了 if 语句,else if 语句会根据不同的表达式来确定执行哪个语句块。

在 PHP 中也可以将 else if 这两个关键字合并在一起(如 elseif)来使用。else if 语句的语法格式如下所示:

if (判断条件 1) {
    语句块 1;
} else if (判断条件 2) {
    语句块 2;
} else if (判断条件 3) {
    语句块 3;
}
......
else if (判断条件 n) {
    语句块 n;
}
else{
    语句块 n+1;
}

在上面的 else if 的语法中,如果第一个“判断条件 1”为 TRUE,则执行“语句块 1”语句;如果第二个“判断条件 2”为 TRUE,则执行“语句块 2”语句;以此类推。如果表达式的条件都不为 TRUE,则执行 else 子句中的“语句块 n+1”语句,当然最后的 else 语句也可以省略。

在 else if 语句中同时只能有一个表达式为 TRUE,即在 else if 语句中只能有一个语句块被执行。如果有多个表达式的值为 TRUE 时,只会执行第一个表达式所对应的语句块。

示例:

<?php
header('content-type:text/html;charset=utf-8');   
$score = 89; 
if ($score > 90) {
    echo '成绩的级别为:优!';
} else if ($score > 70) {
    echo '成绩的级别为:良!';
} else if ($score > 60) {
    echo '成绩的级别为:中!';
} else {
    echo '成绩的级别为:差!';
}
?>

1.png

2、switch case语句

switch 语句和 if...else if...else 语句相似,也是一种分支结构,与 if...else if...else 语句相比 switch 语句更加简洁明了。

switch 语句由一个表达式和多个 case 标签组成,case 标签后紧跟一个代码块,case 标签作为这个代码块的标识。switch 语句的语法格式如下:

switch(表达式){
    case 值 1:
        语句块 1;
        break;
    case 值 2:
        语句块 2;
        break;
    ... ...
    case 值 n:
        语句块 n;
        break;
    default:
        语句块 n+1;
}

switch 语句根据表达式的值,依次与 case 中的值进行比较,如果不相等,继续查找下一个 case;如果相等,就会执行对应的语句,直到 switch 语句结束或遇到 break 为止。

一般来说,switch 语句最终都有一个默认值 default,如果在前面的 case 中没有找到相符的条件,则执行默认语句,和 else 语句类似。

示例:使用 date() 函数获取当前星期的英文缩写,根据缩写打印今天是星期几

<?php
header('content-type:text/html;charset=utf-8');   
$week = date('D');
switch($week){
    case 'Mon':
        echo '星期一';
        break;
    case 'Tue':
        echo '星期二';
        break;
    case 'Wed':
        echo '星期三';
        break;
    case 'Thu':
        echo '星期四';
        break;
    case 'Fri':
        echo '星期五';
        break;
    case 'Sat':
        echo '星期六';
        break;
    case 'Sun':
        echo '星期日';
        break;
}
?>

2.png

3、三元运算语句

和C语言一样,PHP 中也有三元运算符,三元运算符可以实现简单的条件判断功能,即根据第一个表达式的结果在另外两个表达式中选择一个并执行,三元运算符也被称为三目运算符或者条件运算符。

三元运算符的功能与“if else”语句一致,它可以在一行中书写,代码精练、执行效率更高。在 PHP 程序中恰当地使用三元运算符能够让脚本更为简洁、高效。

三元运算符的语法格式如下:

(expr1)?(expr2):(expr3); //表达式1?表达式2:表达式3

如果条件“expr1”成立,则执行语句“expr2”,否则执行“expr3”。

示例:

<?php
header('content-type:text/html;charset=utf-8');   
$a = 10;
$a % 2 == 0 ? print '$a 是偶数!' : print '$a 是奇数!';
?>

3.png


php有几种判断语句