王思总同学我们在最开始的故事中讲到了他有两个秘书:一个生活秘书、一个工作秘书。

王思总同学在出行和项目中也是极度有计划性。他给自己的生活秘书和工作秘书分别指派了出差的行程:大理石平台支架

生活上:
 先查天气,下雨带雨具和毛巾。不下雨要带防晒霜
 雨具、毛巾和防晒霜的情况要提前检查,如果没有要及时买

工作上:
 要提前沟通去大连前的工作计划,准备好了要及时检查,检查合格,打印签单。
  没有及时准备好的情况下,要列出主要的项目沟通议题。

类似于上面的这种情况判断,我们就需要用到if...elseif...else反复嵌套的结构了。

在if语句中可以嵌套一个或多个if语句,以实现对多个参数的判断,这就是if语句的多种嵌套。其结构形式如下:

<?php
if(判断1){
    if(判断2){
            代码段 1    
    }else{
            代码段2
        }
}else{
    if(判断3){
            代码段3
        }else{
            代码段4
        }
}
?>

我们用流程图来表示如下:

注意:

  1. 我们在代码段1,2,3,4中可以再加入判断。根据实际情况还可以再加入嵌套
  2. 注意缩进,缩进的作用只是使代码富有层次感,美观易读,对目标代码的生成毫无影响。

我们把王思总同学的生活要求,我们可以用代码用嵌套结构表示出来。我们使用到了三层嵌套结构,代码如下:

<?php
//0表示工作秘书,1表示生活秘书
//用代码模拟随机产生当前的工作是生活秘书的还是工作秘书的
$mishu = rand(0,1); if($mishu){
       //下雨和不下雨的状态,随机产生
       //下雨状态为1
       //不下雨状态为0
       $xiyu = rand(0,1);
        if($xiyu){
             //是否购买雨伞
             $you = rand(0,1);
             if($you){
                  echo '下雨天,已购买不用买雨伞';
             }else{
                  echo '下雨天,未购买,需要买雨伞';
             }
        }else{
             //是否购买防晒霜
             $you = rand(0,1);
             if($you){
                  echo '没下雨,有防晒霜';
             }else{
                  echo '没下雨,需要准备防晒霜';
             }
        } }else{
    //是否准备好了会议议程
    $shifou = rand(0,1);     if($shifou){
        echo '已准备好,可以随时出发';
    }else{
         echo '没有准备好,需要打印,延迟出发';
    } }

警告:对于编程新手,在使用这种嵌套if...else循环时,请小心使用。因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会导致程序出现莫名其妙的问题。

希望你能够默写出来。并且,不能有一丁点的语法错误。在以后,我们随时用,要在大脑当中立马产生反映,动手就写。

PHP流程控制之if语句多种嵌套的更多相关文章

  1. 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构

    036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...

  2. 运算符的应用及流程控制if,switch语句

    运算符的应用 1:赋值运算符    简单赋值运算符        例如var useName='tom';//简单赋值运算符    复合赋值运算符        a+=b;//相当于a=a+b;   ...

  3. 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

    047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...

  4. Swift流程控制之循环语句和判断语句详解

    Swift提供了所有c类语言的控制流结构.包括for和while循环来执行一个任务多次:if和switch语句来执行确定的条件下不同的分支的代码:break和continue关键字能将运行流程转到你代 ...

  5. java基础 流程控制和条件语句,循环语句

    顺序结构 程序的顺序结构: 如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的, 一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束. if语句 if语句使用bo ...

  6. Python基础之用户交互、流程控制、循环语句

    python的简洁性真的令人叹为观止,没有JAVA那种输入还要导个包,不学不知道,一学吓一跳啊! 我在学这些基础的时候,会把python和java.c做对比,这样更好的理解记忆! 用户交互(输入) i ...

  7. 初识JAVA——流程控制之if语句

    if语句的流程控制主要分为3种:1,单分支结构:if(){……}: 2,双分支结构:if(){……}else{……}; 3,多分枝结构:if(){……}else if(){……}…… 其中作为if语句 ...

  8. python 流程控制(条件语句)

    1,python流程控制单条件基本语句 2,python流程流程多条件控制语句 3,三元运算 1,python流程控制单条件基本语句 if 判断条件: 执行语句…… else: 执行语句…… 判断条件 ...

  9. JAVA 流程控制之选择语句

    在程序设计时,有三种基本技术可以改变程序的流程控制: 调用方法: 选择: 循环. 在这里,我们主要来讲讲选择语句. JAVA中的选择语句与C语言中的基本相同,包括: if 语句: if/else 语句 ...

随机推荐

  1. css拓展

    自定义居中 .second-listleft{/*固定位置*/ position: relative; float: left; width: 25%; height: 100%; backgroun ...

  2. str.format() 格式化数字的多种方法

    Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % . format 函数可以接受不限个参数 ...

  3. Python 数据结构理解分享

    摘要:分享学习Python数据结构的一些理解,主要包含序列(如列表和元组),映射(如字典)以及集合3中基本的数据结构,以及可变和不可变数据类型. Python 中的数据结构是根据某种方式将数据元素组合 ...

  4. React Hooks中父组件中调用子组件方法

    React Hooks中父组件中调用子组件方法 使用到的hooks-- useImperativeHandle,useRef /* child子组件 */ // https://reactjs.org ...

  5. Web Services使用SOAP Header

    在Web Services方法进行通信使用SOAP遵循标准的SOAP格式,该格式的一部分是在XML文档中编码的数据.XML文档包含一个Envelope根元素(由必需的Body元素和可选的Header元 ...

  6. 服务篇:我的第一WebService应用

    一.我的第一个Webservice应用 1.新建一个空项目 2.添加新项,加入asmx,并再浏览器浏览 3.添加一个aspx网页 4.右键引用→添加服务引用→高级→添加Web引用,输入再浏览器浏览的a ...

  7. CSS中@import url()

    @import url( )总结: 1.import url( )机制是不同于link的,link是在加载页面前把CSS加载完毕,而@import url( )则是读取完文件后加载,所以会出现一开始没 ...

  8. 怎么将visual studio项目打包生成dll文件

    1.打开电脑再打开visual studio软件,在软件里面新建一个项目,文件---->新建---->项目,打开新建项目窗口. 2.选择C#类工程,并为项目命名. 3.将类库文件class ...

  9. Extending WCF using IServiceBehavior, IOperationBehavior, and IParameterInspector

    [ServiceContract(Name = "PasswordGenerator")] public interface IPasswordGenerator { [Opera ...

  10. ABAP-会计凭证替代字段GB01设置

    1.GB01表字段设置 SM30:VWTYGB01 找到需要替代的字段,设置bexclude勾选为空 2.运行程序 RGUGBR00 激活