php判断语句怎么写插图

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

在程序开发过程中,经常需要根据不同的情况,执行不同的代码,这个时候就需要用到条件判断,在PHP中,可使用if或者switch进行条件判断,具体应根据实际场景进行选择相应的条件语句:

1、if else语句

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

1)、if条件语句

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

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

如果需要执行的语句块包含一条以上的语句,则要使用{ }把 它们括起来,表示一个整体;如果要执行的语句只有一条,就可以省略大括号标记。像下面这样:

if (判断条件)
    一条语句;

if 语句的执行流程如下图所示:

1.gif

【示例】 定义一个数组,使用 if 语句判断这个数字是不是偶数,代码如下所示:

<?php
    $num = 34;
    if ($num % 2 == 0) {
        echo '$num ='.$num.', 是偶数!';
    }
?>

运行结果如下:

$num =34, 是偶数!

2)、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 (判断条件)
    语句块 1;
else
    语句块 2;

if…else 语句的执行流程如下图所示:

2.gif

示例】使用 rand() 函数生成一个随机数 $num,然后判断这个随机数是偶数还是奇数,代码如下所示:

<?php
    $num = rand(1,31);  //生成一个 1~31 之间的随机数
    if ($num % 2 == 0) {
        echo '$num ='.$num.', 是偶数!';
    } else {
        echo '$num ='.$num.', 是奇数!';
    }
?>

运行结果如下:

$num =27, 是奇数!

3)、if…elseif…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 时,只会执行第一个表达式所对应的语句块。

if…else if…else 语句的执行流程如下图所示:

3.gif

【示例】根据成绩判断成绩的优、良、中、差级别,代码如下所示:

<?php
    $score = 89; 
    if ($score > 90) {
        echo '成绩的级别为:优!';
    } else if ($score > 70) {
        echo '成绩的级别为:良!';
    } else if ($score > 60) {
        echo '成绩的级别为:中!';
    } else {
        echo '成绩的级别为:差!';
    }
?>

运行结果如下:

成绩的级别为:良!

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 语句类似。

switch 语句的执行流程如下图所示:

4.gif

在使用 switch 语句时应该注意以下几点:

  • 和 if 语句不同的是,switch 语句后面表达式的数据类型只能是整型或字符串,不能是 bool 型。通常这个表达式是一个变量名称,虽然 PHP 是弱类型语言,在 switch 后面表达式的变量可以是任意类型数据,但为了保证匹配执行的准确性,最好只使用整型或字符串中的一种类型。

  • 和 if 语句不同的是,switch 语句后面的花括号是必须有的。

  • case 语句的个数没有规定,可以无限增加。但 case 标签和 case 标签后面的值之间应该有一个空格,值后面必须有一个冒号,这是语法的一部分。

  • switch 匹配完成以后,将依次逐条执行匹配的分支模块中的语句,直到 switch 结构结束或者遇到了 break 语句才停止执行。所以,如果一个分支语句的后面没有写上 break 语句,程序将会继续执行下一个分支语句的内容。

  • 与 if 语句中的 else 类似,switch 语句中 default 标签直接在后面加上一个冒号,看似没有条件,其实是有条件的,条件就是“表达式”的值不能与前面任何一个 case 标签后的值相等,这时才执行 default 分支中的语句。default 标签和 if 中的 else 子句一样,它不是 switch 语句中必需的,可以省略。

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

<?php
    $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;
    }
?>

运行结果如下:

星期四

推荐学习:《PHP视频教程

以上就是php判断语句怎么写的详细内容,更多请关注亿码酷站其它相关文章!



php判断语句怎么写
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

下载声明:
  • 本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压;
  • 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。
  • 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版!
  • 版权声明:
  • 下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。
  • 免责声明:
  • 您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!