lua 判断为空的逻辑


在查询数据库时,有可能字段数据为空,所以自然想到这样的逻辑

 ....

  local publish_total_count = rows[i].PUBLISH_COUNT;

....
if publish_total_count ==nil then
yx_new_table.submit_info = ngx.encode_base64("0/0");
else
yx_new_table.submit_info = ngx.encode_base64(submit_count.."/"..publish_total_count);
end

但是总是在publish_total_count 为空时 执行第二句。

问了一下同事,要修改为
if not publish_total_count then
yx_new_table.submit_info = ngx.encode_base64("0/0");
else
yx_new_table.submit_info = ngx.encode_base64(submit_count.."/"..publish_total_count);
end

其中 not publish_total_count 表示publish_total_count 为空的时候才执行 yx_new_table.submit_info = ngx.encode_base64("0/0");
原因在lua中 nil和false返回值都是假 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM