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


Posted in PHP onFebruary 19, 2017

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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
PHP学习之数组值的操作
Apr 17 PHP
关于PHP结束标签的使用细节探讨及联想
Mar 04 PHP
PHP中Memcache操作类及用法实例
Dec 12 PHP
yii2使用ajax返回json的实现方法
May 14 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
Apr 18 PHP
php7 安装yar 生成docker镜像
May 09 PHP
php把字符串指定字符分割成数组的方法
Mar 12 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
Aug 07 PHP
php适配器模式简单应用示例
Oct 23 PHP
php变量与字符串的增删改查操作示例
May 07 PHP
PHP时间相关常用函数用法示例
Jun 03 PHP
简单谈谈 php 文件锁
Feb 19 #PHP
PHP new static 和 new self详解
Feb 19 #PHP
PHP连接MySQL进行增、删、改、查操作
Feb 19 #PHP
PHP进程通信基础之信号量与共享内存通信
Feb 19 #PHP
PHP进程通信基础之信号
Feb 19 #PHP
PHP 信号管理知识整理汇总
Feb 19 #PHP
php 三大特点:封装,继承,多态
Feb 19 #PHP
You might like
PHP循环获取GET和POST值的代码
2008/04/09 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
2017/12/13 PHP
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
2014/11/02 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
python简单程序读取串口信息的方法
2015/03/13 Python
Python函数参数类型*、**的区别
2015/04/11 Python
详解Python编程中包的概念与管理
2015/10/16 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
python绘制立方体的方法
2018/07/02 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
python openpyxl使用方法详解
2019/07/18 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
2014年商场超市庆元旦活动方案
2014/02/14 职场文书
个人收入证明模板
2014/09/18 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
财务部岗位职责范本
2015/04/14 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
首都博物馆观后感
2015/06/05 职场文书
民事调解协议书
2016/03/21 职场文书
详解MySQL集群搭建
2021/05/26 MySQL
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏