前段时光,在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前去值以下图所示: