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

目录
相关文章
|
13天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
64 20
|
19天前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
28 0
|
3月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
92 3
|
3月前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
3月前
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP是一种流行的服务器端脚本语言,自诞生以来在Web开发领域占据重要地位。从简单的网页脚本到支持面向对象编程的现代语言,PHP经历了多次重大更新。本文探讨PHP的现代演进历程,重点介绍其在Web开发中的应用及框架创新,如Laravel、Symfony等。这些框架不仅简化了开发流程,还提高了开发效率和安全性。
50 3
|
3月前
|
前端开发 PHP 云计算
PHP在Web开发中的不可替代性###
——守护Web开发基石,PHP的独特魅力与广泛应用解析
|
3月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
4月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
285 3
|
3月前
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
166 62
|
2月前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南

热门文章

最新文章

  • 1
    打造高效的Web Scraper:Python与Selenium的完美结合
    30
  • 2
    Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
    39
  • 3
    AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
    27
  • 4
    【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
    64
  • 5
    部署使用 CHAT-NEXT-WEB 基于 Deepseek
    478
  • 6
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    33
  • 7
    java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
    49
  • 8
    零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
    34
  • 9
    【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
    28
  • 10
    FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
    68