PHP流程控制之if語句多種嵌套

 

王思總同窗咱們在最開始的故事中講到了他有兩個祕書:一個生活祕書、一個工做祕書。php

王思總同窗在出行和項目中也是極度有計劃性。他給本身的生活祕書和工做祕書分別指派了出差的行程:大理石平臺支架編程

生活上:
 先查天氣,下雨帶雨具和毛巾。不下雨要帶防曬霜
 雨具、毛巾和防曬霜的狀況要提早檢查,若是沒有要及時買ui

工做上:
 要提早溝通去大連前的工做計劃,準備好了要及時檢查,檢查合格,打印簽單。
  沒有及時準備好的狀況下,要列出主要的項目溝通議題。spa

相似於上面的這種狀況判斷,咱們就須要用到if...elseif...else反覆嵌套的結構了。設計

在if語句中能夠嵌套一個或多個if語句,以實現對多個參數的判斷,這就是if語句的多種嵌套。其結構形式以下:3d

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

咱們用流程圖來表示以下:
2015-08-08/55c5a2ff40df7code

注意:blog

  1. 咱們在代碼段1,2,3,4中能夠再加入判斷。根據實際狀況還能夠再加入嵌套
  2. 注意縮進,縮進的做用只是使代碼富有層次感,美觀易讀,對目標代碼的生成毫無影響。

咱們把王思總同窗的生活要求,咱們能夠用代碼用嵌套結構表示出來。咱們使用到了三層嵌套結構,代碼以下:get

<?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循環時,請當心使用。由於太多層的循環容易使設計的邏輯出問題,或者少打了大括號等,都會致使程序出現莫名其妙的問題。it

但願你可以默寫出來。而且,不能有一丁點的語法錯誤。在之後,咱們隨時用,要在大腦當中立馬產生反映,動手就寫。

相關文章
相關標籤/搜索