国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

關(guān)于網(wǎng)站程序開發(fā)里有關(guān)0與空字符、null的知識(shí)

發(fā)表日期:2019-09-19 09:42:05   作者來源:信   瀏覽:3149   標(biāo)簽:網(wǎng)站開發(fā)    
前段時(shí)間,在QQ上突然收到一個(gè)客戶的消息,說分銷商的訂購庫存出現(xiàn)了問題,聊天記錄如下圖所示:
 

開發(fā)程序



他的網(wǎng)站是關(guān)于在微信里的在線門票訂購系統(tǒng),每種票型都可以設(shè)置分銷商所能購買的數(shù)量,一旦購買了設(shè)置的最大數(shù)量,則分銷商將無法購買該門票,如果不設(shè)置數(shù)量,則默認(rèn)分銷商所能購買的數(shù)量等于門票的總庫存?,F(xiàn)在出現(xiàn)的問題是,當(dāng)分銷商所能購買的該門票的數(shù)量為0時(shí),只要該門票的總庫存大于0,仍然可以購買該門票,即設(shè)置的數(shù)量購買限制存在bug。
  收到這樣的消息,我一定時(shí)間測(cè)試該功能是否正常,結(jié)論如客戶所說,確實(shí)存在這樣的問題,所以我就檢查所寫的程序,程序是這個(gè)判斷的:
$company_ku_count = M('company_kucun')->where(Array('px_id'=>$px_id,'company_id'=>$member_main_id))->getField('ku_count');//得到分銷商票型的授權(quán)數(shù)量
if($company_ku_count==’’){...}//即沒有設(shè)置分銷商的門票數(shù)量,則分銷商可以購買的數(shù)量為門票的總數(shù)量。
elseif($company_ku_count>0){...}//則設(shè)置分銷商的數(shù)量,最大可購買數(shù)量為$company_ku_count張。
看代碼似乎沒問題,因?yàn)閮煞N情況都已經(jīng)做了判斷,所以花了不少時(shí)間在找bug,終于發(fā)if($company_ku_count==0){...}時(shí),if($company_ku_count==’’){...}同樣成立,也就是說0是等于空字符的,嘗試使用if(emtpy($company_ku_count))來判斷,同樣得到的結(jié)果也是一樣,這下我有點(diǎn)懵,因?yàn)楫?dāng)$company_ku_count=0或$company_ku_count=’’時(shí),echo emtpy($company_ku_count)都輸出1,所以就上網(wǎng)查找如何才能區(qū)別0與空字符,最終找到另一個(gè)檢測(cè)變量的函數(shù)isset,isset與empty最大的區(qū)別是,一個(gè)變量$company_ku_count存在等于null,即echo isset($company_ku_count) ,輸出空字符,而echo empty($company_ku_count)輸出1。并且只要$company_ku_count存在且不等于null,則輸出1. 例如$company_ku_count=100,則 isset($company_ku_count)輸出1,而emtpy($company_ku_count)輸出空字符。
 由上面的結(jié)論可以解決這個(gè)問題了,只要用$isok = isset($company_ku_count),if($isok==’’){...}//即分銷商沒有設(shè)置存在的情況,而其他情況則是已經(jīng)設(shè)置了購買數(shù)量限制,這樣就解決客戶上所說的Bug了,事情也到此為止。
為了學(xué)習(xí)isset與emtpy的知識(shí),我們可以回顧下兩者的區(qū)別:
 
isset的返回值如下圖所示:

結(jié)果


emtpy返回值如下圖所示:

結(jié)果2
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來自http://pdcharm.com/news/5313.html
乳山市| 溧阳市| 抚州市| 龙陵县| 博白县| 佛坪县| 县级市| 沂南县| 汶川县| 宣汉县| 措美县| 台中市| 太仓市| 河间市| 遵化市| 绍兴县| 南通市| 卓资县| 读书| 石河子市| 邻水| 华安县| 济宁市| 武邑县| 石河子市| 子洲县| 武夷山市| 彰武县| 大足县| 静宁县| 天柱县| 新竹市| 五常市| 邵东县| 乐都县| 长宁区| 柳江县| 策勒县| 大化| 瓦房店市| 乌鲁木齐县|