首页 > 代码库 > isset,empty,is_null的小知识点

isset,empty,is_null的小知识点

<?php
/**
对于初学者很多的时候不能很好的使用isset,empty,is_null对null,false等值的返回值做出正确的判断,在这里我通过学习自己总结了一点知识点,作为以后的知识点
*/
//1.设定数据类型,举例常用到的类型
$a;
$b = false;
$c = ‘‘;
$d = 0;
$e = null;
$f = array();

//2.分别针对不同的函数进行测试以上的数据类型返回值,用var_dump()打印,print_r有区别的,项目中你就知道了!

//2.1以下上对empty()函数的打印
var_dump(empty($a));    //输出true
var_dump(empty($b));    //输出true
var_dump(empty($c));    //输出true
var_dump(empty($d));    //输出true
var_dump(empty($e));    //输出true
var_dump(empty($f));    //输出true
//分析:只要数据类型是否为空或假,empty()就输出true

//2.2对isset进行数据返回类型测试
var_dump(isset($a));    //输出false
var_dump(isset($b));    //输出true
var_dump(isset($c));    //输出true
var_dump(isset($d));    //输出true
var_dump(isset($e));    //输出false
var_dump(isset($f));    //输出true
/**分析:1.isset()只能用来判断是否为NULL和未定义,如果想检测变量是否已经定义,那么可以使用defined()函数;
         2.如果要判断一个变量是否被设置(声明),使用isset
         3.如果要判断一个变量赋值并且不为空,使用empty
         4.如果要判断一个变量被设置并且不为空,可以先使用isset,然后使用empty
*/


//2.3对is_null返回值类型测试
var_dump(is_null($a));    //输出true,但是出现未定义,因为错误级别的原因
var_dump(is_null($b));    //输出false
var_dump(is_null($c));    //输出false
var_dump(is_null($d));    //输出false
var_dump(is_null($e));    //输出true
var_dump(is_null($f));    //输出false
/**
分析:只是用来判断是否为空和未定义,用法与iset基本一样
*/
变量                             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=10                             false              false              true
$a=1                             false              false              true
$a=0                               true               false              true
$a=""                             true               false              true
$a="true"                           false              false              true
$a="false"                         true               false              true


isset,empty,is_null的小知识点