【web 开发基础】PHP的流程控制之单一分支结构-PHP 快速入门(12)

简介: 流程控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序步骤的基本手段,是程序的核心部分。可以说,缺少了流程控制,就不会有程序设计语言,因为没有哪一种程序只是线性的执行语句序列。程序中需要与用户相互交流,需要根据用户的输入决定执行语句序列,需要有循环将代码反复执行等操作。这些都少不了流程控制。在任何程序设计语言中都需要支持满足程序结构化所需要的三种基本结构:顺序结构、分支结构、和循环结构;没有这些流程控制,编程会变得更加机械,犹如人没有了灵魂。

前言

流程控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序步骤的基本手段,是程序的核心部分。可以说,缺少了流程控制,就不会有程序设计语言,因为没有哪一种程序只是线性的执行语句序列。程序中需要与用户相互交流,需要根据用户的输入决定执行语句序列,需要有循环将代码反复执行等操作。这些都少不了流程控制。在任何程序设计语言中都需要支持满足程序结构化所需要的三种基本结构:顺序结构、分支结构、和循环结构;没有这些流程控制,编程会变得更加机械,犹如人没有了灵魂。

何为分支结构?

顺序结构的程序虽然能解决计算、输出等问题。当是不能先做判断在选择。对于要先做判断再选择的问题就要使用分支结构,又称为选择结构或条件结构。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序执行。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。分支语句结构适合带有逻辑或关系比较等条件判断的计算。即是程序在执行过程中依照条件的结果来改变程序执行的顺序。满足条件时执行某一叙述块,反之则执行另一叙述块。在程序中使用分支结构可以有以下几种形式:

  1. 单一条件分支结构
  2. 双向条件分支结构
  3. 多向条件分支结构
  4. 巢状条件分支结构

以上4种分支结构都是对条件进行判断,然后根据判断结果,选择执行不同的分支。但是要根据程序的不同需求和不同时机,选择以上不同形式的分支结构使用。每种分支结构都是通过相应的PHP语句来完成的。

单一条件分支结构 (if)

if分支结构是单一 条件分支结构。 PHP程序中的语句通常是按其在源代码文件中出现的顺序从前到后依次执行的。而if 结构用于改变语句的执行顺序,是包括PHP在内的很多语言最重要的特性之一。 if语句的基本格式是,对一个表达式进行计算,根据计算结果决定是否执行后面的语句。if语法的格式如下:

网络异常,图片无法展示
|

if(表达式){ //如果在后面加上分号会出现错误
  语句块; //条件成立要执行的语句
}

在上面的if语句的格式中,允许按照条件执行代码片段。if 后面小括号( )中的“表达式” 就是执行的条件,条件只能是布尔型值。通常是由比较运算符或者逻辑运算符组成的表达式所计算的结果值,或是一些返回布尔型的函数等等。如果是传入其他类型的值,也会自动转换为布尔型的TRUE或FALSE,再进行判断。如果“表达式”为TRUE,则执行“语句块”,否则不执行。不论结果如何,接着都将执行if后面的语句。可以这么说,是否执行“语句块”取决于“表达式”的结果。“if (表达式)和语句块;”一起组成 了完整的if语句,它们并非两条独立的语句,而是一个整体或者组合。下面例子中就是if结构的简单使用。如果$a大于$b,将显示“a大于b”,否则没有任何输出。

<?php$a=12;
$b=3;
if($a>$b){  //当下面只有一句代码时,花括号可以省略,但是养成好习惯,尽量带上花括号,以免出现未知错误echo'$a 大于 $b';
}

执行结果:

网络异常,图片无法展示
|

通过使用复合语句(代码块), if语句能够控制执行多条语句。代码块是一组用花括号"{ }”括起来的多条语句。任何可以使用单条语句的地方都可以使用语句块。因此,可以像下面这样编写语句:

<?phpif(表达式) {
//如果表达式的条件成立则可以执行下面多条语句语句1;
语句2;
语句n;
}

如果使用if分支语句控制是否执行单条语句, 可以使用花括号括起来,也可以不用。但要想使用if语句控制是否执行多条语句,就必须使用花括号括起来形成代码块。比如:已知两个数$a和$b,比较它们的大小,使得$a大于$b;若$a小于$b则调换其值,代码如下:

<?php$a=12;
$b=30;
if($a<$b){  //当下面只有一句代码时,花括号可以省略,但是养成好习惯,尽量带上花括号,以免出现未知错误$temp=$a;
$a=$b;
$b=$temp;
}
print_r($a>$b);//打印结果

执行结果:boolean类型中1代表true,0为false

网络异常,图片无法展示
|

在实际开发中我们也会使用三元运算符来代替if,让代码变得更加简洁,不过在复杂的条件可能让代码可读性变差,下面就以求最小值为例使用三元运算和if分支语句进行对比.代码如下:

<?php$a=122;
$b=30;
if($a<$b){
$d=$a;
}
$d=$b;
print_r($d);//打印结果echo"<br>";//换行//三元运算符$c=$a<$b?$a : $b;
print_r($c);//打印结果   如果只需要打印结果可直接写成:print_r($a < $b? $a : $b);

执行结果:

网络异常,图片无法展示
|

目录
相关文章
|
1月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
46 3
|
1月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
2月前
|
开发框架 自然语言处理 PHP
PHP在Web开发中的持久魅力与创新实践###
【10月更文挑战第17天】 本文探讨了PHP作为一门老牌却充满活力的编程语言,在现代Web开发中的独特优势和未来趋势。通过分析其简洁性、灵活性、强大生态系统及不断创新的特性,本文旨在揭示PHP为何能持续吸引开发者,并在技术快速迭代的时代保持竞争力。同时,文章也展望了PHP在未来Web开发领域的发展潜力,强调其在技术创新和社区支持下,依然能够引领Web开发的新潮流。 ###
43 9
|
1月前
|
SQL 安全 Go
PHP在Web开发中的安全实践与防范措施###
【10月更文挑战第22天】 本文深入探讨了PHP在Web开发中面临的主要安全挑战,包括SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等,并详细阐述了针对这些风险的有效防范策略。通过具体案例分析,揭示了安全编码的重要性,以及如何结合PHP特性与最佳实践来加固Web应用的安全性。全文旨在为开发者提供实用的安全指南,帮助构建更加安全可靠的PHP Web应用。 ###
43 1
|
2月前
|
SQL 关系型数据库 数据库
优化Web开发流程:Python ORM的优势与实现细节
【10月更文挑战第4天】在Web开发中,数据库操作至关重要,但直接编写SQL语句既繁琐又易错。对象关系映射(ORM)技术应运而生,让开发者以面向对象的方式操作数据库,显著提升了开发效率和代码可维护性。本文探讨Python ORM的优势及其实现细节,并通过Django ORM的示例展示其应用。ORM提供高级抽象层,简化数据库操作,提高代码可读性,并支持多种数据库后端,防止SQL注入。Django内置强大的ORM系统,通过定义模型、生成数据库表、插入和查询数据等步骤,展示了如何利用ORM简化复杂的数据库操作。
66 6
|
2月前
|
安全 编译器 API
探索PHP 8的新特性及其对现代Web开发的影响
【10月更文挑战第5天】随着PHP 8的发布,这门历史悠久的脚本语言重获新生。PHP 8引入了联合类型、命名参数、属性、空安全运算符及JIT编译器等一系列新特性,不仅提升了开发者的编程体验,还增强了PHP在现代Web开发领域的竞争力。本文将详细介绍这些新特性及其对Web开发的影响。例如,联合类型允许函数参数接受多种类型,提高代码灵活性;命名参数则使函数调用更加直观易懂;属性可用于装饰类、方法等,提供额外信息;空安全运算符避免了访问未定义属性时的错误;JIT编译器则显著提升了性能。这些改进共同提升了代码质量和开发效率,巩固了PHP在Web开发中的地位。
25 4
|
1月前
|
关系型数据库 API PHP
PHP在Web开发中的优势与实践###
【10月更文挑战第24天】 PHP是一种流行的服务器端脚本语言,特别适合Web开发。其简单易学、灵活性高和广泛应用的特点,使其成为众多开发者的首选。本文将探讨PHP在Web开发中的主要优势及其实际应用,通过实例展示如何使用PHP构建高效、可靠的Web应用。无论你是初学者还是有经验的开发者,这篇文章都将提供有价值的见解和实用技巧。 ###
44 0
ly~
|
3月前
|
存储 监控 小程序
除了 Web 开发,PHP 还可以应用于哪些领域?
PHP 在 Web 开发之外还有多个应用场景:1)命令行脚本,如批量处理文件、数据库管理及系统监控;2)利用 PHP-GTK 等工具开发桌面应用,满足特定业务需求;3)结合微信云开发功能支持微信小程序后端,处理数据存储与用户认证;4)为小型游戏或特定类型游戏开发游戏服务器逻辑;5)在物联网领域作为后端语言处理设备数据交互与分析。
ly~
112 4
|
2月前
|
安全 编译器 API
探索PHP 8的新特性及其对现代Web开发的影响
探索PHP 8的新特性及其对现代Web开发的影响
20 0
|
3月前
|
安全 PHP 开发者
PHP 7新特性及其对现代Web开发的影响
随着互联网技术的不断演进,PHP语言也在不断地更新迭代。PHP 7作为一次重大的升级,带来了许多引人注目的新特性,这些特性不仅优化了代码执行效率,还为开发人员提供了更多的便利和可能性。本文将探讨PHP 7的主要新特性,以及这些特性如何影响现代Web开发,帮助开发者更好地利用这些新工具来构建更快、更可靠的Web应用。
下一篇
DataWorks