【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);

执行结果:

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

目录
相关文章
|
17天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
19天前
|
PHP 开发者
深入浅出PHP:构建你的第一个Web应用
【10月更文挑战第35天】在数字时代的浪潮中,掌握编程技能已成为通往未来的钥匙。本文将带你从零开始,一步步走进PHP的世界,解锁创建动态网页的魔法。通过浅显易懂的语言和实际代码示例,我们将共同打造一个简单但功能强大的Web应用。无论你是编程新手还是希望扩展技能的老手,这篇文章都将是你的理想选择。让我们一起探索PHP的魅力,开启你的编程之旅!
|
23天前
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP是一种流行的服务器端脚本语言,自诞生以来在Web开发领域占据重要地位。从简单的网页脚本到支持面向对象编程的现代语言,PHP经历了多次重大更新。本文探讨PHP的现代演进历程,重点介绍其在Web开发中的应用及框架创新,如Laravel、Symfony等。这些框架不仅简化了开发流程,还提高了开发效率和安全性。
25 3
|
23天前
|
前端开发 PHP 云计算
PHP在Web开发中的不可替代性###
——守护Web开发基石,PHP的独特魅力与广泛应用解析
|
25天前
|
SQL 安全 PHP
探索PHP的现代演进:从Web开发到框架创新
PHP 自发布以来一直在 Web 开发领域占据重要地位,历经多次重大更新,从简单的脚本语言进化为支持面向对象编程的现代语言。本文探讨 PHP 的演进历程,重点介绍其在 Web 开发中的应用及框架创新。自 PHP 5.3 引入命名空间后,PHP 迈向了面向对象编程时代;PHP 7 通过优化内核大幅提升性能;PHP 8 更是带来了属性、刚性类型等新特性。
26 3
|
25天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
26天前
|
弹性计算 算法 PHP
PHP在现代Web开发中的不可替代性###
【10月更文挑战第27天】 如今互联网技术日新月异,前后端开发逐渐融合,但PHP凭借其灵活性、广泛应用和深厚社区基础,依然在Web开发领域占据重要地位。本文将深入探讨PHP为何能在现代Web开发中保持其不可替代的地位,并分析其未来的发展趋势。 ###
39 1
|
27天前
|
Unix Linux PHP
PHP在Web开发中的平台独立性优势###
本文探讨了PHP的跨平台特性,阐述其作为服务器端脚本语言如何在不同操作系统上无缝运行,以及这一特性为开发者和组织带来的便利性和成本效益。 ###
|
28天前
|
人工智能 搜索推荐 PHP
PHP在Web开发中的璀璨星辰:构建动态网站的幕后英雄###
【10月更文挑战第25天】 本文将带您穿越至PHP的宇宙,揭示其作为Web开发常青树的奥秘。通过生动实例与深入解析,展现PHP如何以简便、高效、灵活的姿态,赋能开发者打造动态交互式网站,同时不忘探讨其在新时代技术浪潮中面临的挑战与机遇,激发对技术创新与应用的无限思考。 ###
32 1
|
28天前
|
测试技术 持续交付 PHP
PHP在Web开发中的应用与最佳实践###
【10月更文挑战第25天】 本文将深入探讨PHP在现代Web开发中的应用及其优势,并分享一些最佳实践来帮助开发者更有效地使用PHP。无论是初学者还是有经验的开发者,都能从中受益。 ###
58 1