4.2.4 PHP多向條件分支(switch語句)2

多向條件分支結(jié)構(gòu)(switch子句)

11.png

switch- case語句語法:
switch(表達式){
case 值1:
語句序列1; break;
case 值2:
語句序列2; break;

default:
語句序列 n; break;
}

?當程序執(zhí)行碰到switch條件判斷時,它會取出鍵值,然后與語句體中的case所列出的值逐一比較,如果數(shù)值不符合,則將數(shù)值往下一個case傳遞,如果數(shù)值符合,則執(zhí)行case中的語句,然后再碰到break語句即跳出switch條件判斷,如果所有的值比對都不符合,則會執(zhí)行default中的語句 。
switch語句使用注意事項:
?switch語句與if語句不同,它僅能判斷一種關(guān)系:是否恒等。
?switch語句中case子句的常量可以是整型常量、字符型常量、表達式或變量。
?在同一個switch中,case子句的常量不能相同,否則第二個值永遠無法匹配到。
?case 和 default 子句后面的語句序列允許由多個可執(zhí)行語句組成,且不必用“{ }”括起來,也可以為空語句。
?switch語句中可省略break語句和default子句。但省略后會改變流程。

<?php
    $week = date("D");   
    **switch**( $week ) {
        **case** "Mon":   **echo** "星期一";  **break**;                
        **case** "Tue":    **echo** "星期二";  **break**;                    
        **case** "Wed":   **echo** "星期三";  **break**;                    
        **case** "Thu":    **echo** "星期四";  **break**;              
        **case** "Fri":      **echo** "星期五";  **break**;           
        **case** "Sat":     **echo** "星期六";  **break**;        
        **case** "Sun":    **echo** "星期日";  **break**;        
    }   

    **switch**( $i ) {                             //條件表達式是一個變量$i
**        case** 2:                                 //和值2匹配時,沒有break,將控制轉(zhuǎn)移到下一個case中的語句
        **case** 3:                                 //和值3匹配時,執(zhí)行下面的語句塊
            **echo** "\$i和值2或3任一個匹配"; 
            **break**;                              //退出switch語句
        **case** 4:                                 //和值為3匹配上時,執(zhí)行下面的語句塊
            **echo** "\$i和值4匹配時,才會執(zhí)行";      
            **break**;                              //退出switch語句
        **default**:                                //匹配任何和其他case都不匹配的情況, 要放在最后一個case之后
            **echo** "\$i沒有匹配的值時,才會執(zhí)行";     
    }

<?php
/*  多路分支結(jié)構(gòu)
 *
 *
 *  1. switch()括號中, 必須是一個變量
 *  2. 在switch() {}中放的是多個case語句, case 空格, 后面放的是值, 值的后面使用一個 冒號 :
 *  3. 可以使用default 在沒有匹配值的時候, 默認執(zhí)行default中的代碼
 *
 *      switch(變量) {
 *      case 值: 
 *          語句; 
 *          語句; 
 *          語句; 
 *          語句; 
 *          語句; 
 *          break;
 *      case 值2: 
 *          語句; 
 *          [break;]
 *      case 值3: 
 *          語句; 
 *          [break];
 *
 *      ....
 *
 *      [default:] 語句 break;
 *      }
 *
 *
 *  switch - case 需要注意的一些細節(jié):
 *
 *  1. 如果在case中的語句過多, 就需要將多個語句做成一個函數(shù)之類
 *  2. switch(變量) 變量的類型  只充許兩種類型  整型 和 字符串
 *  3. break是退出switch結(jié)構(gòu)使用的, 如果需要同時匹配多個值時, 可以使用多個case而不加break;
 *
 *  4. 
 *      else if   判斷范圍時使用
 *
 *      switch case  單個值匹配進行分支
 *
 *      對比
 *
 * */

    $floor = 1;

    switch($floor) {
        case 1:  
        case 11:
        case 111:
        case 1111:
        case 11111:
            echo "這是第一層<br>"; 
            echo "11111111111111<br>";
                break;
        case 2:  
            echo "這是第二層<br>"; 
                break;
        case 3: 
            echo "這是第三層<br>"; 
                break;
        case 4:  
            echo "這是第四層<br>";  
            break;
        case 5:  
            echo "這是第五層<br>";  
            break;

        default: 
            echo "這是其它樓層<br>";
                break;
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容