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新手上路(十)
Oct 09 PHP
用PHP实现Ftp用户的在线管理的代码
Mar 06 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
May 15 PHP
php文件怎么打开 如何执行php文件
Dec 21 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
Sep 26 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
使用Huagepage和PGO来提升PHP7的执行性能
Nov 30 PHP
浅析Yii2缓存的使用
May 10 PHP
php结合mysql与mysqli扩展处理事务的方法
Jun 29 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
Mar 17 PHP
PHP如何使用array_unshift()在数组开头插入元素
Sep 01 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 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
ScrollDown的基本操作示例
2013/06/09 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
JavaScript获取服务器端时间的方法
2016/11/29 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
vue自定义指令的创建和使用方法实例分析
2018/12/04 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
python计数排序和基数排序算法实例
2014/04/25 Python
详解Python中的strftime()方法的使用
2015/05/22 Python
Python切片操作实例分析
2018/03/16 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
django的ORM操作 增加和查询
2019/07/26 Python
Django中URL的参数传递的实现
2019/08/04 Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
2020/04/18 Python
使用Python实现批量ping操作方法
2020/05/06 Python
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
怎样声明接口
2014/09/19 面试题
文秘专业毕业生就业推荐信
2013/11/08 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
酒店端午节活动方案
2014/08/26 职场文书
优秀员工推荐材料
2014/12/20 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
原料仓管员岗位职责
2015/04/01 职场文书