无论在何种编程语言中,流程控制都是很重要的内容。由于 PHP 的大部分语法都继承了C语言的特点,因此在流程控制方面,PHP 有着和C语言类似的流程控制。

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

1. if 语句

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

if (判断条件) {

语句块;

}

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

if (判断条件)

一条语句;

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

图:if 语句流程图

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

$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 语句的执行流程如下图所示:

图:if...else 语句流程图

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

$num = rand(1,31); //生成一个 1~31 之间的随机数

if ($num % 2 == 0) {

echo '$num ='.$num.', 是偶数!';

} else {

echo '$num ='.$num.', 是奇数!';

}

?>

运行结果如下:

$num =27, 是奇数!

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

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

图:if...else if...else 语句流程图

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

$score = 89;

if ($score > 90) {

echo '成绩的级别为:优!';

} else if ($score > 70) {

echo '成绩的级别为:良!';

} else if ($score > 60) {

echo '成绩的级别为:中!';

} else {

echo '成绩的级别为:差!';

}

?>

运行结果如下:

成绩的级别为:良!

php框架 wc if_PHP if else语句相关推荐

  1. thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法

    本文实例讲述了thinkPHP框架中执行原生SQL语句的方法.分享给大家供大家参考,具体如下: 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $ ...

  2. 在hibernate框架中配置显示sql语句

    使用Hibernate的框架开发时,可在Hibernate.cfg.xml中加上 <property name="hibernate.show_sql">true< ...

  3. 如何在sql存储过程中打log_教你如何记录Entity Framework框架自动生成的SQL语句

    有两种方法可以记录执行的SQl语句: · 使用DbContext.Database.Log属性 · 实现IDbCommandInterceptor接口 1使用DbContext.Database.Lo ...

  4. 在hibernate框架中,自己如何使用框架自己生成建表语句

    2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/u/3892666/blog/1834740

  5. Mybatis框架中是如何获取到SQL语句的,让我们一起来模拟一下吧

    本文主要是通过代理和反射来模拟Mybatis此ORM框架是如何获得SQL语句及相关参数等.当我们拿到这些东西,那么一切就变得很简单啦,想做啥就做啥啦. 与君共勉

  6. Laravel和Thinkphp有什么区别,哪个框架好用

    Laravel和Thinkphp这两个php框架对于php程序员都不陌生,新手可能对Thinkphp比较熟,也是国内比较出名的开源框架,更高级的Laravel一般有点经验的才使用. TP框架: Thi ...

  7. laravel中查看执行的SQL语句

    今天想查看laravel框架中执行的SQL语句,百度了一圈,才找到,这文档真心看着不爽,下面上查看方法 DB::connection()->enableQueryLog();$navObj = ...

  8. Hibernate学习总结【比较与Mybatis框架之间的区别】

    经过一周的Hibernate学习,我理解了作为以JPA为核心的持久层查询标准.JPA所涉及的思想为ORM(object relational mapping),它解释了为什么我们的实体关系要和数据库一 ...

  9. Mybatis Plus 是如何实现动态 SQL 语句的?原理你懂吗?

    作者 | 稻草江南 来源 | https://juejin.cn/post/6883081187103866894 Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,那么它是怎么 ...

最新文章

  1. Android studio怎么找到当前文件在电脑路径位置
  2. python 多线程ping测试_从线程ping多个ip时Python ICMP ping实现?
  3. 汇编语言第二课作业2.1
  4. Eclipse如何提高开发效率
  5. url模糊匹配优化_企业必备的网站SEO优化解决方案
  6. 11个非常漂亮动物为主题的高品质图标集
  7. prop attr 到底哪里不一样?
  8. linux 进程自重启,linux 进程监控和自动重启的简单实现
  9. JavaScript面向对象实现
  10. 15.10. Session/Cookie
  11. J2EE 各种关系逻辑图
  12. nyoj 410 how many ones?
  13. 翻车记之2018.7.27
  14. 工程制图与计算机绘图知识点总结,工程制图与计算机绘图-西安电子科技大学.PDF...
  15. 2015第二届上海国际机上内饰与翻新展览会
  16. 魔教传奇—阿里软件的魔方文化
  17. 编译原理-语法制导翻译
  18. Flutter系列之在 macOS 上安装和配置 Flutter 开发环境
  19. pytorch中fuse_modules
  20. 【问题记录】usage: nn_train.py [-h] -d DATASET -m MODEL -l LABEL_BIN -p PLOT nn_train.py: error: the follo

热门文章

  1. Google Desktop 果然
  2. php 禁用通知,推送消息能不能区分禁止通知和卸载两种类型?
  3. c++如何打开hdf5文件_如何打开CSV格式文件才能正常使用?
  4. oracle between and monday,oracle——时间
  5. 精通java益处_你真的精通Java吗?
  6. java gdal postgresql_使用GDAL/OGR操作Postgresql数据库
  7. array python 交集_Python基础(二)——列表和元组
  8. Source Insight常用的快捷键
  9. sscanf与正则表达式
  10. 学习《css世界》笔记之使用css实现凹凸效果