之前做項(xiàng)目時(shí)遇到一個(gè)問題,代碼大致如下:
創(chuàng)新互聯(lián)建站是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,專業(yè)領(lǐng)域包括成都做網(wǎng)站、網(wǎng)站建設(shè)、電商網(wǎng)站制作開發(fā)、小程序定制開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
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.對(duì)表達(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”;