首頁 >後端開發 >PHP問題 >php 多分支是什麼意思

php 多分支是什麼意思

藏色散人
藏色散人原創
2021-11-29 09:30:252416瀏覽

php中的多分支指的是PHP多向條件分支結構;在PHP中elseif子句是典型的多向條件分支,它延伸了if語句,elseif子句會根據不同的表達式值決定要執行哪個語句塊;在PHP中也可以將elseif分開成兩個關鍵字else if來使用。

php 多分支是什麼意思

本文操作環境:Windows7系統、PHP7.1、Dell G3。

php 多分支是什麼意思?

PHP分支控制語句,PHP流程控制結構之分支結構

流程控制對於任何一門程式語言來說都是具有通用與普遍性的,是程式的重要組成部分。可以這麼說,在任何程式設計語言中,都需要支援三種基本結構:順序結構、分支結構(選擇結構或條件結構)和循環結構。對於順序結構,主要是賦值語句和輸入/輸出語句等,即依序執行,這裡沒什麼好說的。這裡,筆者重點總結分支結構和循環結構。

分支結構

分支結構是程式在執行過程中依照需求條件改變程式執行的順序。即滿足條件時就執行某一敘述區塊,反之則執行另一敘述區塊。在程式中使用分支結構可以有以下幾種形式:

单一条件分支结构
双向条件分支结构
多向条件分支结构
巢状条件分支结构

單一條件分支

if結構是單一條件分支結構,if語句的基本格式是對一個表達式進行計算,根據計算結果決定是否執行後面的語句。 if後面小括號中的「表達式」就是執行的條件,條件回傳的結果只能是布林型值。其通常是由比較運算子或邏輯運算子組成的表達式所計算的結果值,或是一些傳回布林型的函數等。如果是傳入其他類型的值,也會自動轉換為布林型的TRUE或FALSE。如果表達式為TRUE,則執行程式碼區塊,否則不執行。

DEMO

<?php
    $x = 10;                            //定义一个整型变量$x,值为10
    $y = 20;                            //定义一个整型变量$y,值为20
    if ( $x < $y )  {                   //$x是小于$y的,所以执行下面语句块
        $t = $x ;                       //先将$x的值放到临时的变量$t中
        $x = $y ;                       //再将变量$y的值赋给变量$a
        $y = $t ;                       //再将临时变量$t中的值赋给变量$y
    }                                   //语句块结束的花括号
    var_dump($x > $y );                 //两个变量的值已经交换,输出true
    
    echo $x." ".$y;
?>

雙向條件分支

#雙向條件分支好比if語句中也可以包含else子句,其意思是需要在滿足某個條件時執行一條語句,而在不滿足該條件時執行其他語句,這正是else子句的功能。 else延伸了if語句,可以在if語句中的表達式的值為FALSE時執行語句。值得注意的是,else語句是if語句的子句,必須和if一起使用,不能單獨存在。

DEMO

<?php
    $x = 30;                                    
    $y = 20;                                    
    if( $x > $y ) {                             
        echo "变量$x 大于变量 $y <br>";     //判断的条件成立,此句会执行
    } else {                                
        echo "变量$x 小于变量 $y <br>";     //判断的条件不成立,此句会被执行
    }                                       
    echo "变量$x和变量$y比较完毕 ";            
?>

多向條件分支

elseif子句是典型的多向條件分支,它延伸了if語句,elseif子句會根據不同的表達式值決定執行哪個語句區塊。在PHP中也可以將elseif分開成兩個關鍵字else if來使用。其執行順序是如果表達式l為TRUE,則執行程式碼區塊1語句;如果判斷表達式2為TRUE,則執行程式碼區塊2語句;以此類推,判斷第n個表達式為TRUE,則執行程式碼區塊n語句;如果表達式的條件都不為TRUE,則執行else子語中的程式碼區塊n l語句,當然最後的else語句也可以省略。

DEMO

<?php
    $week = date("D"); //获取当前的星期值,如Mon、Tue、Wed等
    if ( $week == "Mon" ) {                 
        echo "星期一";
    } elseif ( $week == "Tue" ) {           
        echo "星期二";
    } elseif ( $week == "Wed" ) {           
        echo "星期三";
    } elseif ( $week == "Thu" ) {           
        echo "星期四";
    } elseif ( $week == "Fri" ) {           
        echo "星期五";
    } elseif ( $week == "Sat" ) {           
        echo "星期六";
    } elseif ( $week == "Sun" ) {           
        echo "星期日";
    }               
?>

switch語句和elseif相似,也是一種多向條件分支結構,但if和elseif語句使用布林表達式或布林值作為分支條件來進行分支控制;而switch語句則用於測試一個表達式的值,並根據測試結果選擇執行對應的分支程序,從而實現分支控制。 switch語句由一個選擇表達式和多個case標籤組成,case標籤後面緊接著一段程式碼區塊。使用switch語句時應該注意以下幾點:

switch語句後面的選擇表達式的資料型別只能是整數或字串,不能是boolean型別。通常這個控製表達式是一個變數名稱。

switch語句後面的花括號是必須有的。

case語句的個數沒有規定,可以無限增加。但case標籤和其後面的值之間應有一個空格,值後面必須有一個冒號,這是語法的一部分。

switch匹配完成以後,將依序逐條執行符合的分支模組中的語句,直到switch結構結束或遇到了break語句才停止執行。

 

switch語句中default標籤直接在後面加上一個冒號,其意思是表達式的值不能與前面任何一個case標籤後的值相等,這時才執行default分支中的語句。 default標籤可以省略。

DEMO

<?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;        
    }           
?>

巢狀條件分支

巢狀條件分支結構就是if語句的嵌套,即指if或else後面的程式碼區塊中又包含if語句。

DEMO

<?php
    $sex = "male";                                              //用户输入的性别
    $age = 25;                                                  //用户输入的年龄
    if ( $sex == "male" ) {                                     //如果用户输入的是男性则执行下面的区块
        if ( $age >= 60 ) {                                     //如果是男性并且年龄在60以上则执行下面的区块
            echo "这个先生已退休".($age-60)."年了";
        } else {                                                //如果是男性并且年龄在60以下则执行下面的区块
            echo "这个先生在工作,还有".(60-$age)."年才能退休";
        }   
    } else {                                                    //如果用户输入的是女性则执行下面的区块
        if( $age >= 55 ) {                                      //如果是女性并且年龄在55以上则执行下面区块
            echo "这个女士已退休".($age-55)."年了";
        } else {                                                //如果是女性并且年龄在55以下则执行下面区块
            echo "这个女士在工作,还有".(55-$age)."年才能退休";
        }
    }           
?>

推薦學習:《PHP影片教學

以上是php 多分支是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn