在php中if Else 與Switch都是條件判斷語(yǔ)句了,那么很多的新學(xué)php的朋友搞不清楚php中 if Else 與Switch區(qū)別在哪里,下面本文就重點(diǎn)介紹一下.
在網(wǎng)上找到一句:switch比較if具有速度優(yōu)勢(shì),一個(gè)是采取轉(zhuǎn)移地址列表的方法;還有就是switch一般在松散的情況下也多不采取"比較-轉(zhuǎn)移 "的方法,而是用dec(sub)-jz的指令對(duì),后者不僅是指令的長(zhǎng)度變短了,速度上也有優(yōu)勢(shì).
下面我們來(lái)驗(yàn)證一下吧:
If…Else 語(yǔ)句
如果您希望在某個(gè)條件成立時(shí)執(zhí)行一些代碼,在條件不成立時(shí)執(zhí)行另一些代碼,請(qǐng)使用 if….else 語(yǔ)句.
語(yǔ)法,代碼如下:
- if (condition) //設(shè)置條件
- code to be executed if condition is true; //如果條件為真的代碼被執(zhí)行;
- else
- code to be executed if condition is false; //如果條件為假,代碼被執(zhí)行
實(shí)例1,如果當(dāng)前日期是星期一,下面的代碼將輸出 “星期一快樂”,否則會(huì)輸出 “天天快樂”,代碼如下:
- <?php
- $d=date("D"); //變量d賦值
- if($d=="Mon"){
- echo "星期一快樂!";
- }else{
- echo "天天快樂!";
- }
- ?>
實(shí)例2,如果d等于1時(shí)輸出“數(shù)字1”,否則輸出“數(shù)字不是1”,代碼如下:
- <?php
- $d=2; //變量d賦值
- if($d==1){
- echo "數(shù)字1"; //變量d等于1時(shí)輸出的值
- }else{
- echo "數(shù)字不是1"; //不等于1時(shí)輸出的值
- }
- ?>
Switch 語(yǔ)句
語(yǔ)法,代碼如下:
- switch (expression)
- {
- case label1:
- code to be executed if expression = label1;
- break;
- case label2:
- code to be executed if expression = label2;
- break;
- default:
- code to be executed
- if expression is different
- from both label1 and label2;
- }
實(shí)例,工作原理:
對(duì)表達(dá)式(通常是變量)進(jìn)行一次計(jì)算,把表達(dá)式的值與結(jié)構(gòu)中 case 的值進(jìn)行比較,如果存在匹配,則執(zhí)行與 case 關(guān)聯(lián)的代碼,代碼執(zhí)行后,break 語(yǔ)句阻止代碼跳入下一個(gè) case 中繼續(xù)執(zhí)行,如果沒有 case 為真,則使用 default 語(yǔ)句,代碼如下:
- <?php
- switch ($x)
- {
- case 1:
- echo "Number 1";
- break;
- case 2:
- echo "Number 2";
- break;
- case 3:
- echo "Number 3";
- break;
- default:
- echo "No number between 1 and 3";
- //開源代碼Vevb.com
- }
- ?>
總結(jié)3點(diǎn):
1.PHP中有兩個(gè)方法都是用于判斷值是否滿足條件,如果滿足/不滿足做出不同行為動(dòng)作.
2.switch中的步長(zhǎng)越短,效率越高,而if else 則更靈活,適合不只一個(gè)變量的比較.
3.當(dāng)被判斷值為變量,ifelse的運(yùn)行效率高于switch,ifelse貫徹一判到底的方針,會(huì)從第一個(gè)條件開始判斷,直到最后一個(gè)else,所以學(xué)會(huì)使用switch有好處.
新聞熱點(diǎn)
疑難解答