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


版权声明:本文博客原创文章,博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/yxwkf/p/4628316.html