zoukankan      html  css  js  c++  java
  • PHP流程控制之if语句多种嵌套

     

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

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

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

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

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

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

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

    我们用流程图来表示如下:
    2015-08-08/55c5a2ff40df7

    注意:

    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循环时,请小心使用。因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会导致程序出现莫名其妙的问题。

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

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    VulnHub——Kioptrix Level 1
    【手绘漫画】图解LeetCode之删除排序链表中的重复元素进阶版(LeetCode 82题)
    多线程快速入门
    【手绘漫画】图解LeetCode之删除排序链表中的重复元素(LeetCode 83题)
    3分钟搞懂MySQL事务隔离级别及SET TRANSACTION影响事务
  • 原文地址:https://www.cnblogs.com/furuihua/p/12066342.html
Copyright © 2011-2022 走看看