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

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

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

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

类似于上面的这种情况判断,我们就需要用到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循环时,请小心使用。因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会导致程序出现莫名其妙的问题。

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

最新文章

  1. Thinkphp3.2.3路径书写注意
  2. 登录时的&quot;记住我&quot;
  3. elasticsearch的mapping映射
  4. ThinkPHP自动获取关键词(调用第三方插件)
  5. SSM整合配置
  6. &amp;引用的问题
  7. xiaocms 关于搜索功能 添加搜索字段
  8. 重置MySQL的root用户密码(Window)
  9. Winfrom 文本框回车进入下一个个单元格(TextBox)
  10. 【原创】构建高性能ASP.NET站点之二 优化HTTP请求(前端)
  11. 重建程序员能力(2)-如何使asp.net mvc应用增加js和其他功能
  12. pta第一次总结
  13. eclipse取消自动输入提示
  14. day7 七、字符编码,字符字节与文件操作
  15. Linux学习笔记之查看Linux版本信息
  16. SPFA_queue_链式前向星最短路 &amp; HDU2433
  17. 2018年美国大学生数学建模竞赛(MCM/ICM) B题解题思路
  18. 软件测试自动化之- API Test
  19. devise 自定义手机号登录
  20. mybatis mapper空指针异常的问题

热门文章

  1. STM32之外部中断
  2. English Grammar in Use - Part1 Present and past
  3. # RESTful登录(基于token鉴权)的设计实例
  4. [v]Linux下安装Git
  5. 在论坛中出现的比较难的sql问题:19(row_number函数 行转列、sql语句记流水)
  6. 在论坛中出现的比较难的sql问题:11(字符分拆 多关键字匹配问题)
  7. ExcelReport.cs Excel操作类、实例源码下载
  8. 手写DAO框架(五)-DAO层实现
  9. 关于Vue-ElementUI修改默认样式不成功问题解决
  10. CSS_引入方式