写点什么

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

作者:迷彩
  • 2022-10-26
    广东
  • 本文字数:991 字

    阅读完需:约 3 分钟

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

嵌套条件分支结构

嵌套条件分支结构,也称为巢状条件分支结构。其实就是将 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) . " 年才能退休"; }}
复制代码

执行结果:


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

发布于: 刚刚阅读数: 11
用户头像

迷彩

关注

我的工作是常年写bug|公众号:编程架构之美 2020-06-18 加入

修bug的菜鸟~公众号:“互联网有啥事”已改名为“编程架构之美”

评论

发布
暂无评论
【web 开发基础】PHP 的流程控制之嵌套(巢状)条件分支结构 -PHP 快速入门 (15)_嵌套条件表达式_迷彩_InfoQ写作社区