比如我們要根據(jù)學(xué)生的成績(jī)來(lái)評(píng)定他的表現(xiàn),如果分?jǐn)?shù)大于等于90分,則稱其為優(yōu)秀,如果分?jǐn)?shù)在80分到89分之間,則稱其為良好,如果分?jǐn)?shù)在70分到79分之間,則稱其為中等,如果分?jǐn)?shù)低于70分,則稱其為不合格。我們可以使用if函數(shù)來(lái)實(shí)現(xiàn)如下:
$score = 85; if($score >= 90) { echo "該生表現(xiàn)優(yōu)秀"; } elseif($score >= 80 && $score<= 89) { echo "該生表現(xiàn)良好"; } elseif($score >= 70 && $score<= 79) { echo "該生表現(xiàn)中等"; } else { echo "該生不合格"; }
在上面的代碼中,首先我們定義了一個(gè)變量$score表示學(xué)生的成績(jī),然后通過(guò)if函數(shù)來(lái)對(duì)$score的值進(jìn)行判斷,通過(guò)elseif和else來(lái)擴(kuò)展判斷條件,最后輸出對(duì)應(yīng)的評(píng)價(jià)。
除了上面這種基本的if函數(shù)的用法,我們還可以利用if函數(shù)來(lái)進(jìn)行更復(fù)雜的邏輯判斷。比如說(shuō)我們要判斷一個(gè)數(shù)是否為2的指數(shù),我們可以使用以下代碼:
$num = 16; if(($num & ($num-1)) == 0) { echo "$num 是2的指數(shù)"; } else { echo "$num 不是2的指數(shù)"; }
在上面的代碼中,使用了位運(yùn)算符&和減法運(yùn)算符。因?yàn)?的指數(shù)轉(zhuǎn)化為二進(jìn)制會(huì)變成100...00這樣的形式,如果減1后則會(huì)變成011...11這樣的形式,因?yàn)槲贿\(yùn)算符&的特性,這兩個(gè)數(shù)的與運(yùn)算的結(jié)果就會(huì)是0,如果該數(shù)不是2的指數(shù),則與運(yùn)算的結(jié)果就不是0。
除了上面的例子,還有很多利用if函數(shù)實(shí)現(xiàn)復(fù)雜邏輯的例子,比如通過(guò)if函數(shù)實(shí)現(xiàn)遞歸、判斷字符串中某一個(gè)字符的出現(xiàn)次數(shù)、判斷是否是閏年等等。
總的來(lái)說(shuō),if函數(shù)在PHP中有著非常重要的作用,是程序中的必備函數(shù)之一。熟練掌握if函數(shù)的用法有助于我們更好地理解PHP的編程基礎(chǔ),實(shí)現(xiàn)更復(fù)雜的程序邏輯。