当前位置: 网学 > 编程文档 > PHP > 正文

php empty,isset,is_null判断比较(差异与异同)

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/23

本文主要为广大网友提供“php empty,isset,is_null判断比较(差异与异同)”,希望对需要php empty,isset,is_null判断比较(差异与异同)网友有所帮助,学习一下!

一、举例说明
A.一个变量没有定义,我们该怎么样去判断呢
复制代码 代码如下:
<?php
#不存在$test 变量

$isset= isset($test)?"test is define!":"test is undefine!";
echo "isset:$isset\r\n";

$empty=!empty($test)?"test is define!":"test is undefine!";
echo "empty:$empty\r\n";

$is_null=is_null($test)?"test is define!":"test is undefine!";
echo "is_null:$is_null\r\n";

测试结果是:

结果出来了:empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!

B、看下各自接收的参数是什么?

isset函数参数:

<?php
$test=100;
echo isset($test),isset(100),$isset($b=100);

<br />
<b>Parse error</b>: parse error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or ''

  • 上一篇资讯: 学习php笔记 字符串处理
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号
    ' in <b>PHPDocument3</b> on line <b>3</b><br />

    empty函数参数:

    <?php
    $test=100;

    echo empty($test),empty(100),empty($b=100);

    <br />
    <b>Parse error</b>: parse error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or ''

    12下一页
    点击进入论坛和大家一起交流设计,分享设计素材,结交设计朋友
  • 上一篇资讯: 学习php笔记 字符串处理
  • 下一篇资讯: php通过文件头检测文件类型通用代码类(zip,rar等)
  • 相关资讯

    网学推荐

    免费论文

    原创论文

    文章排行榜

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号
    ' in <b>PHPDocument3</b> on line <b>3</b><br />

    is_null函数参数:

    <?php
    $test=100;

    echo is_null($test),is_null(100),is_null($b=100);

    运行结果:没有任何错误。

    比较结果出来了:empty,isset输入参数必须是一个变量(php变量是以$字符开头的),而is_null输入参数只要是能够有返回值就可以。(常量,变量,表达式等)。在php手册里面,对于他们解析是:empty,isset 是一个语言结构而非函数,因此它无法被变量函数调用。

    二、概括总结isset,empty,is_null区别:
    刚才介绍的:检查变量,以及参数类型,这个是这3个函数不同之处的基础,也是最容易被忽视的。看到网上有很多对这个3个函数进行比较文章。很少涉及这些。下面我要说的,是在都检查已存在变量情况下,不同之处。

    实例:

    复制代码 代码如下:
    <?php
    $a=100;
    $b="";
    $c=null;
    //isset检查
    echo "isset","\$a=$a",isset($a)?"define":"undefine","\r\n";
    echo "isset","\$b=$b",isset($b)?"define":"undefine","\r\n";
    echo "isset","\$c=$c",isset($c)?"define":"undefine","\r\n";
    unset($b);
    echo "isset","\$b",isset($b)?"define":"undefine","\r\n";
    $b=0;
    echo "\r\n\r\n";

    //empty检查
    echo "empty","\$a=$a",!empty($a)?"no empty":"empty","\r\n";
    echo "empty","\$b=$b",!empty($b)?"no empty":"empty","\r\n";
    echo "empty","\$c=$c",!empty($c)?"no empty":"empty","\r\n";
    unset($b);
    echo "empty","\$b",!empty($b)?"no empty":"empty","\r\n";
    $b=0;
    echo "\r\n\r\n";

    //is_null检查
    echo "is_null","\$a=$a",!is_null($a)?"no null":"null","\r\n";
    echo "is_null","\$b=$b",!is_null($b)?"no null":"null","\r\n";
    echo "is_null","\$c=$c",!is_null($c)?"no null":"null","\r\n";
    unset($b);
    echo "is_null","\$b",is_null($b)?"no null":"null","\r\n";


    通过上面这个简单测试,我们可以大体知道,当一个变量存在情况下:isset,empty,is_null检测,得到值情况了。上面没有举例更多变量。其实测试发现:

    empty

    如果 变量 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var、未定义; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

    isset

    如果 变量 存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义)。变量值设置为:null,返回也
    12下一页
    点击进入论坛和大家一起交流设计,分享设计素材,结交设计朋友
  • 上一篇资讯: 学习php笔记 字符串处理
  • 下一篇资讯: php通过文件头检测文件类型通用代码类(zip,rar等)
  • 相关资讯

    网学推荐

    免费论文

    原创论文

    文章排行榜

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号