php中函数 isset(), empty(), is_null() 的区别,boolean类型和string类型的false判断
php中函数 isset(), empty(), is_null() 的区别,boolean类型和string类型的false判断
实际需求:把sphinx返回的结果放到ssdb缓存里,要考虑到sphinx开始没有数据,挂掉后恢复的情况。
开始实用empty函数发现sphinx挂掉后返回的内容为空,sphinx恢复后也一直进入不了,后面打印出为NUll值加上is_null判断还是不行,如果sphinx为空,ssdb会返回一个false的字符串,不是boolean类型的,empty函数和is_null函数都返回true,所以还必须加上个!='false' 的判断才行。
实战代码:
$ssdb = new SimpleSSDB(REDIS_HOST,REDIS_PORT); $key = SITE_DOMIAN.'articles'.$page_size.$page.md5($keyword); // print_r($key);
// var_dump($articles);
// var_dump(gettype($articles));
$articles = $ssdb->get($key); if(empty($articles) || is_null($articles) || $articles=='false'){ // print_r('into sphinx...'); $cl = new SphinxClient ();
下面是一个比较详细的php类型对应的返回值
更多详情的可参考:http://php.net/manual/en/types.comparisons.php
总结:当结果不符合预期的时候,需要多打印出相关参数来验证代码是否正确,需要打印类型和值出来进行测试,然后查对照表确定。
大自然,飘然的风,QQ群: python技术交流群:453879716,人工智能深度学习群:251088643
golang技术交流群:316397059,vuejs技术交流群:458915921 囤币一族:621258209,有兴趣的可以加入
微信公众号: 心禅道(xinchandao)投资论道
golang技术交流群:316397059,vuejs技术交流群:458915921 囤币一族:621258209,有兴趣的可以加入
微信公众号: 心禅道(xinchandao)投资论道
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2018-10-17 Android版本28使用http请求报错not permitted by network security policy
2018-10-17 android使用ARouter跳转activity(阿里巴巴开源的)
2018-10-17 android textview字体加粗 Android studio最新水平居中和垂直居中
2018-10-17 android TextView Unicde编码转换 android中一些特殊字符Unicode码值
2016-10-17 阿里BCG重磅报告《人工智能,未来致胜之道》
2016-10-17 关于web开发前端h5框架的选择
2016-10-17 html5+php实现文件的断点续传ajax异步上传