【web 开发基础】PHP 的流程控制之多向条件分支结构 -PHP 快速入门 (14)

简介: 条件分支结构其实是我们生活中常用的一种一种逻辑结构,类似于我们常用的(如果...那么...否则...就.....).本文中的elseif子句,和此名称暗示的一样,就是if和else的组合,相当于(...else{if(表达式){{语句块;}}})。和else一样,它延伸了if语句,条件分支结构中elseif 子句会根据不同的表达式值确定执行哪个语句块。在PHP中也可以将elseif分开成两个关键字“else if"来使用。elseif 语句的语法格式如下:

多向条件分支结构(elseif)

条件分支结构其实是我们生活中常用的一种一种逻辑结构,类似于我们常用的(如果...那么...否则...就.....).本文中的elseif子句,和此名称暗示的一样,就是if和else的组合,相当于(...else{if(表达式){{语句块;}}})。和else一样,它延伸了if语句,条件分支结构中elseif 子句会根据不同的表达式值确定执行哪个语句块。在PHP中也可以将elseif分开成两个关键字“else if"来使用。elseif 语句的语法格式如下:

<?phpif(表达式1 )//如果“表达式1”为TRUE,则执行“语句块1”语句语句块1;
elseif (表达式2 )//如果“表达式2”为TRUE,则执行“语句块2”语句语句块2;
//elseif语句的个数没有规定,可以无限增加elseif (表达式n )
//如果第n个“表达式n”为TRUE,则执行“语句块n"语句语句块n;
else//如果表达式的条件都不为TRUE,则执行“语句块n+1”语句语句块n+1;

在上面的elseif的语法当中,如果判断第一 个 “表达式1”为TRUE,则执行“语句块1”的语句;如果判断第二个‘表达式2” 为TRUE,则执行“语句块2”的语句:以此类推,判断第n个“表达式n”为TRUE,则执行“语句块n”的语句;如果表达式的条件都不为TRUE,则执行else子语中的‘语句块n+1” 的语句,当然最后的else语句也可以省略。在elseif语句中同时只能有一个表达式为TRUE,即在elseif语句中只能有一个语句块被执行,即多个elseif从句是排斥关系。

编程实践

在应用开发中,这种多向条件分支结构适合对同一个变量的值在不同范围内进行判断。比如下面分时问候的代码,通过获取服务器中当前的时间,在不同的时间段输出不同的问候。在实际的运用中,我们可以用于网站中,在用户登录后的问候功能,或者可做成报时系统:

<?phpdate_default_timezone_set("Asia/Shanghai");       //设置时区echo"当前时间".date("Y-m-d H:i:s",time())."<br>"; //通过date()函数获取当前时间,并输出$hour=date("H");              //获取服务器时间中当前时间的小时if( $hour<6 ) {                     
echo"凌晨好! 起床了吗还是没睡呢?努力奋斗也要注意作息哦!";
    } elseif ( $hour<10 ) {          
echo"早上好! 一日之计在于晨";
    } elseif ( $hour<12 ) {         
echo"上午好!努力搬砖的时间又到了,加油!";
    } elseif ( $hour<14 ) {         
echo"中午好!不要忘记吃午饭哦!";
    } elseif ( $hour<18 ) {          
echo"下午好!工作累了,放松一下吧!";
    } elseif ( $hour<19 ) {          
echo"傍晚好!犒劳自己一下,晚餐吃顿好的!";
    } elseif ( $hour<22 ) {          
echo"晚上好!工作了一天,刷会剧放松一下";
    } else {                              
echo"夜里好!不早了,该睡了哦!";
    }

执行结果:

:写多条件分支语句时,一定要注意条件的排列的顺序,避免陷入条件穿透的陷阱

使用elseif语句有一条基本规则, 即总是优先把包含范围小的条件放在前面处理。比如:$hour<6和$hour<10两个条件,明显$hour<6 的范围更小,所以应该先处理$hour<6 的情况。和前面的if语句一样,使用elseif语句控制是否执行一条语句,可以使用花括号括起来,也可以不用。但要想使用elseif语句能够控制是否执行多条语句,则必须使用花括号括起来形成代码块。通常建议不要省略if、else、 elseif 后执行块的花括号,即使条件执行体只有一行代码。 因为保留花括号会有更好的可读性,而且会减少发生错误的可能。

目录
相关文章
|
2月前
|
安全 关系型数据库 MySQL
PHP手术麻醉临床信息管理系统源码 术前、术中、术后全流程管理
麻醉文书是用于管理患者手术全过程的文书。 麻醉同意:医院麻醉知情同意书的填写和编辑; 病案查询:可以通过搜索框搜索患者查询病案; 申请手术:手术申请单的填写和打印; 风险评估:医院手术风险评估表的书写和编辑。
43 0
|
7天前
|
安全 编译器 PHP
PHP 8.1版本发布:引领Web开发新潮流
PHP编程语言一直是Web开发的主力军,而最新发布的PHP 8.1版本则为开发者们带来了更多创新和便利。本文将介绍PHP 8.1版本的主要特性,包括更快的性能、新的语言功能和增强的安全性,以及如何利用这些功能来提升Web应用程序的质量和效率。
|
10天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
2月前
|
JSON 前端开发 JavaScript
从前端到后端——Web开发的全流程解析
【2月更文挑战第2天】Web开发涉及多个方面,从前端设计到后端实现,需要开发者具备一定的技术能力和知识储备。本文将以一个简单的Web应用为例,详细介绍Web开发的全流程。
|
2月前
|
虚拟化 开发者 Docker
深入浅出:利用Docker容器化技术加速Web开发流程
在本篇文章中,我们将探讨Docker容器化技术如何为Web开发带来革命性的效率提升。通过具体案例和实操示范,我们不仅会介绍Docker的基本概念和工作原理,还将深入分析如何利用Docker容器化技术简化开发环境的搭建、提高应用的可移植性以及加快部署速度。本文旨在为读者提供一种全新的视角,理解并实践如何通过Docker优化现代Web开发流程,无论是对于个人开发者还是团队项目,都将带来前所未有的便捷和效率。
29 0
|
3月前
|
Java
【web server】整体流程解析
【web server】整体流程解析
|
4月前
|
安全 关系型数据库 MySQL
【PHP】医院HIS手术麻醉临床信息管理系统源码 实现术前、术中、术后全流程管理
【PHP】医院HIS手术麻醉临床信息管理系统源码 实现术前、术中、术后全流程管理
49 0
|
4月前
|
PHP
ctfshow-web3(伪协议php://input的利用)
ctfshow-web3(伪协议php://input的利用)
39 0
|
5月前
|
PHP
.htaccess web php 文件详解
.htaccess web php 文件详解
22 0
|
21天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。