找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 175|回复: 0
打印 上一主题 下一主题

PHP中empty,isset,is_null用法和区别

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 05:28:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            1.empty用法

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

isset -- 检测变量是否设置
描述
bool isset ( mixed var [, mixed var [, ...]])
如果 var 存在则返回 TRUE,否则返回 FALSE。
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("0")并不等同于 PHP 的 NULL 常数。
注意:如果变量不存在,isset()和empty()都不会报错;is_null(),is_numeric()会报错
如何区别如下数组中 [0,'',null] 三个元素?(1)区别0:
$a = 0;
isset($a) && is_numeric($a) === true
(2)区别''
$a = '';
empty($a) && $a=== ''
(3)区别null
$a = null;
is_null($a);  
另外在做表单提交的时候可能经常要检测一个变量是否存在,假如$_REQUEST['status'] = 0;使用empty($_REQUEST['status'])返回true,但是使用isset($_REQUEST['status']) 判断就不是空
3. is_null():

bool is_null ( mixed $var )   (php.net官方文档的函数定义)
当参数满足下面三种情况时,is_null()将返回TRUE,其它的情况就是FALSE
1、它被赋值为NULL
2、它还没有赋值
3、它未定义,相当于unset(),将一个变量unset()后,不就是没有定义吗
让我们来看一些例子:
$myvar = NULL;  
var_dump(is_null($myvar)); // TRUE
$myvar1;      
var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable
$num = 520;
unset($num);
var_dump(is_null($num)); //TRUE Notice: Undefined variable
var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable

$myvar = 0; is_null($myvar);   // FALSE
$myvar = FALSE; is_null($myvar); // FALSE
$myvar = ''; is_null($myvar);  // FALSE
            
            
您可能感兴趣的文章:
  • php empty,isset,is_null判断比较(差异与异同)
  • php中is_null,empty,isset,unset 的区别详细介绍
  • 深入PHP empty(),isset(),is_null()的实例测试详解
  • 解析PHP中empty is_null和isset的测试
  • 一张表搞清楚php is_null、empty、isset的区别
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端