PHP中判断变量为空的几种方法小结

 更新时间:2013年11月12日 21:40:28   作者:  
判断变量为空,在许多场合都会用到,同时自己和许多新手一样也经常会犯一些错误,所以自己整理了一下PHP中一些常用的、判断变量为空的方法

1. isset功能:判断变量是否被初始化

说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过
注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右

复制代码 代码如下:

$a = '';
$a['c'] = '';
if (!isset($a)) echo '$a 未被初始化' . "";
if (!isset($b)) echo '$b 未被初始化' . "";
if (isset($a['c'])) echo '$a 已经被初始化' . "";
// 显示结果为
// $b 未被初始化
// $a 已经被初始化

2. empty功能:检测变量是否为"空"

说明:任何一个未初始化的变量、值为 0 或 false 或 空字符串"" 或 null的变量、空数组、没有任何属性的对象,都将判断为empty==true
注意1:未初始化的变量也能被empty检测为"空"
注意2:empty只能检测变量,而不能检测语句

复制代码 代码如下:

$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a 为空' . "";
if (empty($b)) echo '$b 为空' . "";
if (empty($c)) echo '$c 为空' . "";
if (empty($d)) echo '$d 为空' . "";

3. var == null功能:判断变量是否为"空"

说明:值为 0 或 false 或 空字符串"" 或 null的变量、空数组、都将判断为 null
注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。

复制代码 代码如下:

$a = 0;
$b = array();
if ($a == null) echo '$a 为空' . "";
if ($b == null) echo '$b 为空' . "";
if ($c == null) echo '$b 为空' . "";
// 显示结果为
// $a 为空
// $b 为空
// Undefined variable: c

4. is_null功能:检测变量是否为"null"

说明:当变量被赋值为"null"时,检测结果为true
注意1:null不区分大小写:$a = null; $a = NULL 没有任何区别
注意2:仅在变量的值为"null"时,检测结果才为true,0、空字符串、false、空数组都检测为false
注意3:变量未初始化时,程序将会报错

复制代码 代码如下:

$a = null;
$b = false;
if (is_null($a)) echo '$a 为NULL' . "";
if (is_null($b)) echo '$b 为NULL' . "";
if (is_null($c)) echo '$c 为NULL' . "";
// 显示结果为
// $a 为NULL
// Undefined variable: c

5. var === null功能:检测变量是否为"null",同时变量的类型也必须是"null"

说明:当变量被赋值为"null"时,同时变量的类型也是"null"时,检测结果为true
注意1:在判断为"null"上,全等于和is_null的作用相同
注意2:变量未初始化时,程序将会报错

总结PHP中,"NULL" 和 "空" 是2个概念。

isset  主要用来判断变量是否被初始化过
empty  可以将值为 "假"、"空"、"0"、"NULL"、"未初始化" 的变量都判断为TRUE
is_null  仅把值为 "NULL" 的变量判断为TRUE
var == null  把值为 "假"、"空"、"0"、"NULL" 的变量都判断为TRUE
var === null  仅把值为 "NULL" 的变量判断为TRUE

所以我们在判断一个变量是否真正为"NULL"时,大多使用 is_null,从而避免"false"、"0"等值的干扰。

相关文章

  • php intval函数用法总结

    php intval函数用法总结

    在本篇内容里小编给大家总结了关于php intval函数用法以及相关知识点总结,需要的朋友们跟着学习下。
    2019-04-04
  • php实现推荐功能的简单实例

    php实现推荐功能的简单实例

    在本篇文章里小编给各位整理的是关于php如何实现推荐功能的相关实例内容,有兴趣的朋友们可以学习下。
    2019-09-09
  • PHP 类型转换函数intval

    PHP 类型转换函数intval

    不管什么类型 如果是数字,就返回数字,如果不是数字就返回0 在PHP中用$_GET['id']的时候就可以这样来一个转换...太好了
    2009-06-06
  • php实现随机显示图片方法汇总

    php实现随机显示图片方法汇总

    本文分享一个php实现的随机显示图片的函数,可以将指定文件夹中存放的图片随机地显示出来。有兴趣的朋友研究下吧。
    2015-05-05
  • PHP常用函数之base64图片上传功能详解

    PHP常用函数之base64图片上传功能详解

    这篇文章主要介绍了PHP常用函数之base64图片上传功能,结合实例形式分析了前台ajax提交及后台base64图片编码上传相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • php输出反斜杠的实例方法

    php输出反斜杠的实例方法

    在本篇文章中我们给大家分享的是关于php如何输出反斜杠实例内容以及相关知识点,需要的朋友们学习下。
    2019-09-09
  • Linux下进行MYSQL编程时插入中文乱码的解决方案

    Linux下进行MYSQL编程时插入中文乱码的解决方案

    Linux下进行MYSQL编程时插入中文乱码的解决方案...
    2007-03-03
  • php 读取shell管道传输过来的内容

    php 读取shell管道传输过来的内容

    已经写了不少后台运行的deamon了.用的挺顺手的,但是我现在想获取管道传过来的内容,不知道咋实现,类似echo "aaaa" |a.php,a.php怎么获得echo的内容,不知道您有什么高见.
    2010-03-03
  • 也谈php网站在线人数统计

    也谈php网站在线人数统计

    db层: db_online.PHP //该函数使用户自己在线,并且检查其他用户的在线情况
    2008-04-04
  • php Imagick获取图片RGB颜色值

    php Imagick获取图片RGB颜色值

    根据用户上传的图片检索出图片的主要颜色值,再根据颜色搜索相关的图片,使用Imagick的quantizeImage方法能够很方便的取到图片中平均的RGB值
    2014-07-07

最新评论