<output id="jbxdv"></output>

      1. PHP流程控制(1)

        • 2020-07-22 10:07:56
        • 閱讀次數:
        • 作者:盈嵐科技小編
        • 來源:http://www.freenetsites.com

        做網站中,任何PHP腳本都是由一系列語句構成的。一條語句可以是一個賦值語句,一個函數調用,一個循環,一個條件語句或者是一個什么也不做的空語句。語句通常以分號結束,用戶可以使用大括號將一組語句封裝成一個語句組。語句組本身可以當作是一行語句。本節將重點介紹PHP流程控制結構和語句,這里主要包括條件語句和循環語句。

        if條件語句

        if結構是很多語言(包括PHP在內)最重要的特性之一,它允許按照條件執行代碼片段。PHP的if結構和C語言相似。

        <?phpif (expr)    statement?>

        如果表達式expr的值為true,PHP將執行statement,如果值為false,將忽略statement。例如,在下面示例中,如果$a大于$b,則將顯示"a大于b"。

        <?phpif($a > $b)     echo "a 大于b";?>

        經常需要按照條件執行不止一條語句,當然并不需要給每條語句都加上一個if子句??梢詫⑦@些語句放入語句組中。例如,如果$a大于$b,則將顯示"a大于b",并且將$a的值賦給$b。

        <?phpif ($a > $b) {    echo "a大于b"; $b = $a;}?>

        if語句可以無限層地嵌套在其他if語句中,這給程序的不同部分的條件執行提供了充分的彈性。

        else條件語句

        用戶經常需要設計在滿足某個條件時執行一條語句,而在不滿足該條件時執行其他語句,這正是else語句的功能。else延伸了if語句,可以在if語句中的表達式的值為false時執行語句。例如,在下面示例中,如果$a大于$b時,顯示"a大于b",反之則顯示"a不大于b"。

        <?phpif ($a > $b) {    echo "a大于b";} else {    echo "a不大于b";}?>else

        語句僅在if以及elseif語句中的表達式的值為false時執行。

        else if條件語句

        else if與else條件語句一樣,它延伸了if語句,可以在原來的if表達式值為false時執行不同語句。但是與else不一樣的是,它僅在else if的條件表達式值為true時執行語句。例如,在下面示例中,如果$a大于$b時,顯示"a大于b",如果相等,則顯示"a等于b",都不成立則顯示"a小于b"。

        <?phpif ($a > $b) {    echo "a大于b";} elseif ($a == $b) {    echo "a等于b";} else {    echo "a小于b";}?>

        在同一個if結構中可以有多個elseif語句。第一個表達式值為true的elseif語句(如果有的話)將會執行。在PHP中,也可以寫成elseif,它和else if語句的行為完全一樣。句法分析的含義有少許區別,elseif的語句僅在之前的if或elseif的表達式值為false,而當前的elseif表達式值為true時執行。

        注意:elseif與else if只有在使用大括號的情況下才認為是完全相同。

        switch條件語句

        elseif語句可以設計多重選擇,但是比較繁瑣,為了避免if語句的冗長結構,用戶可以使用switch語句簡化編程。switch語句適合于這樣的環境:當需要把同一個變量(或表達式)與很多不同的值比較,并根據它等于哪個值來執行不同的代碼。

        <?phpswitch ($i) {    case 0:        echo "i= 0";        break;    case 1:        echo "i=1";        break;    case 2:        echo "i=2";        break;}?>

        switch語句是一行接一行地執行,開始時沒有代碼被執行,僅當一個case語句中的值和switch表達式的值匹配時,PHP才開始執行語句,直到switch的程序段結束或者遇到第一個break語句為止。如果不在case的語句段最后寫上break的話,PHP將繼續執行下一個case中的語句段。如:

        <?phpswitch ($i) {    case 0:        echo "i=0";    case 1:        echo "i=1";    case 2:        echo "i=2";}?>

        如果$i等于0,PHP將執行所有的輸出語句,如果$i等于1,PHP將執行后面兩條輸出語句,只有當$i等于2時,才會得到預期的結果,只顯示“i=2”。所以,別忘了break語句很重要。

        在switch語句中條件只求值一次,并用來與每個case語句比較。而在elseif語句中條件會再次求值。如果條件比較復雜,或者在一個很多次的循環中,那么選用switch語句可能會快一些。在一個case中的語句也可以為空,這樣只不過將控制轉移到了下一個case中的語句。如:

        <?phpswitch ($i) {    case 0:    case 1:    case 2:        echo "i<3";        break;    case 3:        echo "i=3";}?>

        default語句比較特殊,它匹配其他case都不匹配的情況。如:

        <?phpswitch ($i) {    case 0:        echo "i=0";        break;    case 1:        echo "i=1";        break;    case 2:        echo "i=2";        break;    default:        echo "i不是0、1、2";}?>

        case表達式可以是任何求值為簡單類型的表達式,即整型或浮點數以及字符串,不能是數組或對象,除非它們被解除引用成為簡單類型。同時,PHP還允許使用分號(;)代替case語句后的冒號(:),如:

        <?phpswitch($i){    case 1;    case 2;    case 3;        echo "i=3";        break;    default;        echo '…';}?>

        注意:與其他語言不同,在switch結構中,continue語句作用類似于break語句。如果在循環中有一個switch結構并希望continue到外層循環中的下一個輪回,可以使用continue語句。


        當前文章標題:PHP流程控制(1)

        當前URL:http://www.freenetsites.com/news/wzzz/3244.html

        上一篇:PHP表達式

        下一篇:PHP流程控制(2)

        網站建設、抖音推廣、頭條推廣、微信朋友圈推廣、快手推廣專線:181-8386-5875(點擊可一鍵撥號)
        国产成人亚洲综合无码
        <output id="jbxdv"></output>