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 相关文章推荐
第十三节 对象串行化 [13]
Oct 09 PHP
我的群发邮件程序
Oct 09 PHP
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
php 数组的指针操作实现代码
Feb 08 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
Jun 13 PHP
destoon实现VIP排名一直在前面排序的方法
Aug 21 PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 PHP
php中socket通信机制实例详解
Jan 03 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
Nov 11 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
Mar 05 PHP
关于php unset对json_encode的影响详解
Nov 14 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
做个自己站内搜索引擎
2006/10/09 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
jQuery 位置插件
2008/12/25 Javascript
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
js中的异常处理try...catch使用介绍
2013/09/21 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
微信小程序  网络请求API详解
2016/10/25 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
农村产权制度改革实施方案
2014/03/21 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
婚庆答谢词
2015/01/04 职场文书
银行先进个人总结
2015/02/15 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
python实现过滤敏感词
2021/05/08 Python