【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 后执行块的花括号,即使条件执行体只有一行代码。 因为保留花括号会有更好的可读性,而且会减少发生错误的可能。

目录
相关文章
|
3月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
480 64
|
5月前
|
Linux 数据库 数据安全/隐私保护
Python web Django快速入门手册全栈版,共2590字,短小精悍
本教程涵盖Django从安装到数据库模型创建的全流程。第一章介绍Windows、Linux及macOS下虚拟环境搭建与Django安装验证;第二章讲解项目创建、迁移与运行;第三章演示应用APP创建及项目汉化;第四章说明超级用户创建与后台登录;第五章深入数据库模型设计,包括类与表的对应关系及模型创建步骤。内容精炼实用,适合快速入门Django全栈开发。
225 1
|
4月前
|
SQL 敏捷开发 安全
PHP 的精髓:灵活高效,为 Web 而生
PHP 的精髓:灵活高效,为 Web 而生
|
5月前
|
监控 JavaScript 前端开发
🎉 Harmony OS Next里的Web组件:网页加载的全流程掌控手册
本文详细解析了Harmony OS Next中ArkUI Web组件的九大生命周期回调,帮助开发者全面掌控网页加载流程。从组件初始化到加载完成,再到异常处理与性能优化,每个阶段都配有具体代码示例和注意事项。内容涵盖关键回调(如aboutToAppear、onPageBegin)的使用场景、网页加载进度监控(FCP/FMP/LCP)、以及前端页面优化实践。通过本文,开发者可以高效管理网页加载过程,提升应用性能与用户体验。
320 0
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
282 3
|
PHP 开发者
深入浅出PHP:构建你的第一个Web应用
【10月更文挑战第35天】在数字时代的浪潮中,掌握编程技能已成为通往未来的钥匙。本文将带你从零开始,一步步走进PHP的世界,解锁创建动态网页的魔法。通过浅显易懂的语言和实际代码示例,我们将共同打造一个简单但功能强大的Web应用。无论你是编程新手还是希望扩展技能的老手,这篇文章都将是你的理想选择。让我们一起探索PHP的魅力,开启你的编程之旅!
126 5
|
自然语言处理 前端开发 JavaScript
php结构
php结构
145 1
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP是一种流行的服务器端脚本语言,自诞生以来在Web开发领域占据重要地位。从简单的网页脚本到支持面向对象编程的现代语言,PHP经历了多次重大更新。本文探讨PHP的现代演进历程,重点介绍其在Web开发中的应用及框架创新,如Laravel、Symfony等。这些框架不仅简化了开发流程,还提高了开发效率和安全性。
121 3
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP 自发布以来一直在 Web 开发领域占据重要地位,历经多次重大更新,从简单的脚本语言进化为支持面向对象编程的现代语言。本文探讨 PHP 的演进历程,重点介绍其在 Web 开发中的应用及框架创新。自 PHP 5.3 引入命名空间后,PHP 迈向了面向对象编程时代;PHP 7 通过优化内核大幅提升性能;PHP 8 更是带来了属性、刚性类型等新特性。
136 3