zoukankan      html  css  js  c++  java
  • php中is_null,empty,isset,unset 的区别详细介绍

    is_null, empty, isset, unset 我们先来看看这4个函数的描述。

    isset 判断变量是否已存在(配置)
    unset 把变量删除(释放)掉
    empty 判断变量是否为空
    is_null 判断变量是否为NULL
    ok,已经开始搞人了。那么开始,这4个函数中除了unset,其他3个都是判断函数,unset首先出局,因为他不会搞错,其次是is_null,我们可以把它看成是!isset,是isset的一个逆操作,下面一张表可以很清楚的说明他们之间的关系:

    复制代码代码如下:

    变量                          empty          is_null          isset
     $a=””                       true               false              true
     $a=null                     true               true              false
     var $a                      true              true               false
     $a=array()               true               false              true
     $a=false                   true               false              true
     $a=15                      false              false               true
     $a=1                        false              false               true
     $a=0                        true               false               true
     $a=”0”                     true               false                true
     $a=”true”                false               false              true
     $a=”false”               false               false               true


    从中我们可以发现只要变量是否为” “或者0,或者是false和null,只要是这些值empty都会返回true,而isset是判断变量是否存在,只要你这个变量不是null或未赋值,返回结果都是true,而is_null正好是isset的反结果。

    当然如果只是想做如下工作:
    echo !isset($_GET['a']);  //如果得不到变量a的值
    echo empty($_GET['a']);  //如果变量a的值是空

    那么结果都是一样的,都可以用。

    isset 判断变量是否已存在

    empty 判断变量是否为空或为0

    is_null 判断变量是否为NULL

    变量emptyis_nullisset
    $a=”” true false true
    $a=null true true false
    var $a true true false
    $a=array() true false true
    $a=false true false true
    $a=15 false false true
    $a=1 false false true
    $a=0 true false true
    $a=”0” true false true
    $a=”true” false false true
    $a=”false” false false true
  • 相关阅读:
    对TCP/IP协议的理解
    自己想到的几道Java面试题
    Java双重循环实现任意字符串中提取数字子串
    Spring data jpa 依赖配置
    spring data jpa sql
    spring boot 依赖配置
    Freemarker模板和依赖
    spring Data solr依赖文件 和xml配置文件
    根据mysql数据库 定义solr Schema.xml中配置业务域
    自定义solr域中的配置
  • 原文地址:https://www.cnblogs.com/carbon3/p/7675978.html
Copyright © 2011-2022 走看看