isset和empty的比较

作者: Lee_DH | 来源:发表于2017-04-23 01:43 被阅读183次

    isset:就是(is)判断是否(set)设置变量,按照字面意思,存在的变量即为TRUE,不存在的变量即为FALSE,但是需要注意一点(敲黑板,说正事):如果变量存在,但是变量的值为NULL,此时isset的返回值仍为FALSE。还有一个小窍门,isset是支持同时传入多个变量滴哦,只有传入的多个变量都满足TRUE条件,isset才会返回TRUE(例:isset($a,$b))。

    empty:判断变量是否为空,为空则返回TRUE。这里需要普及一下哪些值是属于空:""、0、"0"、NULL、FALSE、array()以及定义一个变量但不赋值(例:$a;)。这里同样有一个需要注意的点(再次敲黑板):如果一个变量不存在,empty此变量,此变量返回的是TRUE。还有一点值得争议的地方是,我在网上看到,如果变量是一个无任何属性和方法的类的对象,那此empty此变量,结果是什么呢,我们来看下面的例子:

                  #PHP Version 5.4.16 

                  class demo{}

                  $a = new demo;

                  if(empty($a)) {

                      echo 'yes';

                   } else {

                     echo 'no';

                   }

    最终的结果是:返回 no,说明无任何属性和方法的类的对象,empty判断不为空。

    相关文章

      网友评论

        本文标题:isset和empty的比较

        本文链接:https://www.haomeiwen.com/subject/ymyezttx.html