国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > php 判断变量为空详解介绍

php 判断变量为空详解介绍

来源:程序员人生   发布时间:2014-05-19 10:40:02 阅读次数:3403次

在php中判断变量为空我们有很多种方法,php为我们提供了empty,isset,var == null,is_null等等函数来进行变量判断,下面我来给大家分享这些方法的使用方法.empty() 与 isset() 的一个简单比较.

实例代码如下:

  1.         $var = 0; // 结果为 true,因为 $var 为空 
  2.         // 结果为 true,因为 $var =0 
  3.         if (emptyempty($var)) { echo '$var is either 0 or not set at all'; }  
  4.         //结果为false, 因为$var已经设置了 
  5.         if (!isset($var)) { echo '$var is not set at all'; }   
  6. ?>   

上面的empty与isset判断为没有任何属性的对象都将被认为是空.var == null

功能:判断变量是否为“空”

说明:值为 0 或 false 或 空字符串”" 或 null的变量、空数组、都将判断为 null

注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错.

实例代码如下:

  1. $a = 0; 
  2. $b = array(); 
  3. if ($a == null) echo '$a 为空' . ""
  4. if ($b == null) echo '$b 为空' . ""
  5. if ($c == null) echo '$b 为空' . ""
  6. // 显示结果为 
  7. // $a 为空 
  8. // $b 为空 
  9. // Undefined variable: c 

is_null实例代码如下:

  1. $a = null; 
  2. $b = false; 
  3. if (is_null($a)) echo '$a 为NULL' . ""
  4. if (is_null($b)) echo '$b 为NULL' . ""
  5. if (is_null($c)) echo '$c 为NULL' . ""
  6. // 显示结果为 
  7. // $a 为NULL 
  8. // Undefined variable: c 
  9. 变量==0 或 变量===0 

实例代码如下:

  1. $a ===0  $a ==="" 
  2. $a ==0 等于 $a =="" 

在php url传参数时php页面的 URL 尾部参数出现 id=0 时(比如:test.php?id=0),试比较:

实例代码如下:

  1. if(emptyempty($id)) $id=1; // 若 id=0 ,id 也会为1 
  2. if(!isset($id)) $id=1; // 若 id=0 ,id 不会为1   
  3. 可分开运行以下代码检测上述推断: 
  4. if(emptyempty($id)) $id=1; 
  5.    print $id// 得到 1   
  6. if(!isset($id)) $id=1; 
  7.    print $id//得到 0  

总结

在php中NULL与空是两种不同的概念,isset 主要用来判断变量是否被初始化过empty  可以将值为 “假”、“空”、“0”、“NULL”、“未初始化” 的变量都判断为TRUE

is_null  仅把值为 “NULL” 的变量判断为TRUE

var == null  把值为 “假”、“空”、“0”、“NULL” 的变量都判断为TRUE

var === null  仅把值为 “NULL” 的变量判断为TRUE

其它一些可能用到php变量判断的函数

isset($ var) : //变量是不是已经声明

empty($ var): //变量是不是为空

defined($ var): //常量是不是已经定义 define()

is_array($ var): //检验测定变量是不是是数组

is_null($ var): //检验测定变量是不是为 null

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生