zoukankan      html  css  js  c++  java
  • 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

    总结:当结果不符合预期的时候,需要多打印出相关参数来验证代码是否正确,需要打印类型和值出来进行测试,然后查对照表确定。

  • 相关阅读:
    用C语言编写生成小学四则运算程序
    每周学习报告
    读现代软件工程有感和自我介绍
    第七天
    第五天
    第六天
    作业九:课程总结
    作业四:结对编程项目--四则运算
    psp记录个人项目花费时间
    作业三:代码规范,代码复查
  • 原文地址:https://www.cnblogs.com/zdz8207/p/php-empty-is_null-boolean-string.html
Copyright © 2011-2022 走看看