之前做項(xiàng)目時(shí)遇到一個(gè)問題,代碼大致如下:
創(chuàng)新互聯(lián)主營柳河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,柳河h5成都微信小程序搭建,柳河網(wǎng)站營銷推廣歡迎柳河等地區(qū)企業(yè)咨詢switch($a){ case $a >=1000 && $a <5000: echo "vip1"; break; case $a >=5000 && $a <=10000: echo "vip2"; break; default: echo "vipx";
如果$a >0 沒問題,當(dāng)$a =0的時(shí)候,問題就來了,程序會(huì)輸出: vip1;
后來查了下,應(yīng)該是這樣的:
PHP 中switch 的功能是:選擇執(zhí)行某個(gè)代碼塊;其工作原理如下:
1.對表達(dá)式(一般是變量)進(jìn)行一次性計(jì)算;
2.用變量的值與switch結(jié)構(gòu)中 case 的值進(jìn)行比較;
3.如果變量值與case的值相等,則執(zhí)行與該 case 關(guān)聯(lián)的代碼;
4.代碼執(zhí)行完后,break 語句阻止代碼跳入下一個(gè) case 中繼續(xù)執(zhí)行;
5.如果沒有 與之匹配的case條件,則執(zhí)行 default中的代碼;
實(shí)例代碼:
也就是當(dāng)$a =0的時(shí)候,第一個(gè)case先運(yùn)算一次,$a >=1000 && $a <5000 當(dāng)然是false;然后 0與false比較,這是就為true了,所以返回了“vip1”;
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。