国产女人被狂躁到高潮小说,亚洲日韩一区二区三区,色窝窝无码一区二区三区成人网站 ,丰满岳乱妇在线观看中字无码

400-800-9385
網站建設資訊詳細

關于網站程序開發里有關0與空字符、null的知識

發表日期:2019-09-19 09:42:05   作者來源:信   瀏覽:3414   標簽:網站開發    
前段時間,在QQ上突然收到一個客戶的消息,說分銷商的訂購庫存出現了問題,聊天記錄如下圖所示:
 

開發程序



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

結果


emtpy返回值如下圖所示:

結果2
如沒特殊注明,文章均為方維網絡原創,轉載請注明來自http://www.sdlwjx666.com/news/5313.html