【web 开发基础】PHP 的流程控制之嵌套(巢状)条件分支结构 -PHP 快速入门 (15)

举报
迷彩 发表于 2023/06/11 16:46:54 2023/06/11
【摘要】 嵌套条件分支结构嵌套条件分支结构,也称为巢状条件分支结构。其实就是将if语句进行嵌套,即是在if或者else后面的语句块中又包含if语句。if语句可以无限层第嵌套在其他if语句中,这给程序的不同部分的条件执行提供了充分的弹性,是程序设计中经常使用的技术。其语法格式如下所示:if(表达式1){if(表达式2){if(表达式3){.... //可以无限的嵌套下去,但是实际开发中不太建议有太多层的...

嵌套条件分支结构

嵌套条件分支结构,也称为巢状条件分支结构。其实就是将if语句进行嵌套,即是在if或者else后面的语句块中又包含if语句。if语句可以无限层第嵌套在其他if语句中,这给程序的不同部分的条件执行提供了充分的弹性,是程序设计中经常使用的技术。其语法格式如下所示:

if(表达式1){

if(表达式2){

if(表达式3){

.... //可以无限的嵌套下去,但是实际开发中不太建议有太多层的if分支结构的嵌套

}else{

.... //可以无限的嵌套下去

}

}else{

if(表达式4){

.... //可以无限的嵌套下去

}else{

.... //可以无限的嵌套下去

}

}

}else{

if(表达式5){

.... //这里同样可以无限的嵌套下去

}else{

.... //这里同样可以无限的嵌套下去

}

}



其实,嵌套语句,类似于我们前面介绍过的多向条件分支结构:(下图为多向条件分支结构的流程图)


当流程进入某个选择分支后又引出新的选择时,就要用嵌套的if语句。对于多重嵌套if分支结构,最容易出现的就是if与else的配对错误。嵌套中的if与else的配对关系非常重要。从最内层开始,else总是与它上面相邻最近的不带else的if配对。在使用if语句的嵌套时,避免if与else配对错位的最佳办法是加大括号;同时,为了便于阅读,使用适当的缩进。

编程实践

比如,输入一个人的年龄,判断他是退休了还是在工作。然后分析一下,男士60岁退休,女士55岁退休。因此要判断一一个人是否已退休,首先判断性别,然后判断年龄,才能得出正确的结论。代码如下所示:

<?php 
//用户输入的性别
$sex = "female";

//用户输入的年龄
$age = 50;

//如果用户输入的是男性则执行下面的语句块
if($sex=="male"){
	//如果是男性并且年龄在60以上则执行下面的语句块
	if ($age>=60){
		echo"这个男士已退休 " . ($age-60) . " 年了"; 
	}else{ //如果是男性并且年龄在60以下则执行下面的语句块
		echo "这个男士还在岗位奋斗中,还有 " . (60-$age) . " 年才能退休";
	}
}else{ //如果用户输入的是女性则执行下面的区块
	//如果是女性并且年龄在55岁或以上则执行下面的语句块
	if( $age>=55){
		echo "这个女士已退休 ". ($age-55) . " 年了";
	}else{
		//如果是女性并且年龄在55以下则执行下面的语句块
		echo "这个女士还在岗位奋斗中,还有 " . (55-$age) . " 年才能退休";
	}
}

执行结果:


学习分支结构不要被分支嵌套迷惑,只要正确绘制出流程图,弄清各分支所要执行的功能,嵌套结构也就不难了。嵌套只不过是分支中又包括分支语句罢了,不是新知识。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。