zoukankan      html  css  js  c++  java
  • 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)这种写法,不太推荐,除非这个变量在前面已经声明。

     

  • 相关阅读:
    System.Threading.Timer 无规律执行次数的问题
    C#通过URL获取顶级域名的方法
    C#变量声明添加?与@的用法
    基于system.diagnostics Trace的日志输出
    SSB(SQLservice Service Broker) 入门实例
    .NET 入门测试题二:流程控制
    .NET 入门测试题三:变量的更多内容
    .NET 入门测试题四:函数
    .NET 入门测试题一:变量与表达式
    WinCE切换GPRS
  • 原文地址:https://www.cnblogs.com/kaixincainiao/p/3426723.html
Copyright © 2011-2022 走看看