php----浅谈一下empty isset is_null的用处

先说一下,php认为false的是什么 '' 0 false array() object() null

  • empty(): 应用于 array() '' 0 false null 未声明变量 '0';
     1 <?php
     2 class abc {
     3     public $name = 'song';
     4     public $age = '';
     5     public $sex = 0;
     6     public $null = '0';
     7     public function test() 
     8     {
     9         return $this->name;
    10     }
    11 }
    12 $a = new abc();
    13 //empty();
    14 if (empty($a->name))
    15 {
    16     echo 'is false';
    17 }
    18 else 
    19 {
    20     echo 'is not false';
    21 
    22 }

  • isset():判断这个变量是否判断,只要声明了就会为true
     1 <?php
     2 class abc {
     3     public $name = 'song';
     4     public $age = '';
     5     public $sex = 0;
     6     public $null = '0';
     7     public function test() 
     8     {
     9         return $this->name;
    10     }
    11 }
    12 $a = new abc();
    13 //empty();
    14 if (!isset($a->name))
    15 {
    16     echo 'is false';
    17 }
    18 else 
    19 {
    20     echo 'is not false';
    21 
    22 }

 

  • is_null():判断变量是否为null

 

  • if ($a){}
  • 那这个未声明变量会报notice
  • 和empty效果是一样的,但是他会报错啊。
  • 有的时候我们不想过滤0或者'0'的时候我们就要写$num != ''

总结:当我们去判断数组或者对象某个元素或成员属性是否为空,我们应该用empty去判断,

判断变量或者数组元素是否存在key或者对象是否存在成员属性应用用isset

当变量可以为0时,一般是用户输入的数字,那我们就用 $a != '';这样去写

到于那个在if($a)这种写法,不太推荐,除非这个变量在前面已经声明。

 

原文地址:https://www.cnblogs.com/kaixincainiao/p/3426723.html