首頁 >後端開發 >php教程 >php:switch與if兩者的差異詳解

php:switch與if兩者的差異詳解

黄舟
黄舟原創
2017-06-25 09:58:404468瀏覽

【轉】switch與if的區別
如果純粹比較數字或字符,建議使用switch,因為它只會在一開始的switch括號中取出變量值一次,然後將這個值與下面所設定的case比較,但如果使用if,每次遇到條件式時,都要取出變數值,效率的差異就在這裡。例如:

if(a == 1) 
//... 
else
 if(a == 2) 
//... 
else if(a == 3) 
//...

這個程式片段在最差的狀況下,也就是a = 3時,共需3次比較,而每次比較都必須取出變數a的值一次。如果換成switch:

switch(a) 
{ 
case 1: 
//... 
break
; 
case 2: 
//... 
break; 
case 3: 
//... 
break; 
}

在這個程式片段中,只在開頭switch的括號中取出變數a的值,然後逐一比較下面的case,效率的差別就在這兒。當然不是使用if就不好,遇到複合條件時,switch就幫不上忙了,由於無法在switch中組合複雜的條件語句,這時就得使用if了。簡單地說,if與switch兩者可以搭配靈活使用。

If與switch語句很像,如何選擇使用呢?如果判斷具體數值不多,而且符合byte,short ,char,int ,String類型,雖然兩種語句都可以使用,但是建議使用switch語句,效率高其他情況:對區間判斷,對結果型別為boolean進行判斷,使用if,if較廣。

    

#

以上是php:switch與if兩者的差異詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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