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 获取MSN好友列表的代码(2009-05-14测试通过)
Sep 09 PHP
一个典型的PHP分页实例代码分享
Jul 28 PHP
探讨捕获php错误信息方法的详解
Jun 09 PHP
php使用sql数据库 获取字段问题介绍
Aug 12 PHP
php实现aes加密类分享
Feb 16 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
Laravel中log无法写入问题的解决
Jun 17 PHP
Eclipse PHPEclipse 配置的具体步骤
Aug 08 PHP
THINKPHP3.2使用soap连接webservice的解决方法
Dec 13 PHP
php和html的区别点详细总结
Sep 24 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
php抽奖小程序的实现代码
2013/06/18 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
Mootools 1.2教程 事件处理
2009/09/15 Javascript
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
[52:29]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第三局
2016/03/03 DOTA
Python实现获取网站PR及百度权重
2015/01/21 Python
Python对文件操作知识汇总
2016/05/15 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
家具公司总经理岗位职责
2014/07/08 职场文书
2014年人民警察入党思想汇报
2014/10/12 职场文书
解除施工合同协议书
2014/10/17 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
公司前台接待岗位职责
2015/04/03 职场文书
活动主持人开场白
2015/05/28 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
sql server 累计求和实现代码
2022/02/28 SQL Server
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers