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 相关文章推荐
PHP $_SERVER详解
Jan 16 PHP
PHP中的函数嵌套层数限制分析
Jun 13 PHP
基于wordpress主题制作的具体实现步骤
May 10 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
Jun 07 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
PHP最常用的正则表达式
Feb 13 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
PHP实现的装箱算法示例
Jun 23 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 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
利用js调用后台php进行数据处理原码
2006/10/09 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
php查询内存信息操作示例
2019/05/09 PHP
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
javascript 闭包疑问
2010/12/30 Javascript
JavaScript实现自己的DOM选择器原理及代码
2013/03/04 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
2016/05/10 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
python3编写C/S网络程序实例教程
2014/08/25 Python
复习Python中的字符串知识点
2015/04/14 Python
Python复制文件操作实例详解
2015/11/10 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
Python上下文管理器全实例详解
2019/11/12 Python
django使用xadmin的全局配置详解
2019/11/15 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
台湾旅游网站:灿星旅游
2018/10/11 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
会计主管岗位职责
2014/01/03 职场文书
超级搞笑检讨书
2014/01/15 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
介绍信范文
2015/01/31 职场文书
小学运动会通讯稿
2015/07/18 职场文书
P站美图推荐——变身女主角特辑
2022/03/20 日漫
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS