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 相关文章推荐
NT IIS下用ODBC连接数据库
Oct 09 PHP
一步一步学习PHP(5) 类和对象
Feb 16 PHP
PHP学习 变量使用总结
Mar 24 PHP
php长字符串定义方法
Jul 12 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
php解压文件代码实现php在线解压
Feb 13 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
Jun 27 PHP
PHP判断一个gif图片是否为动态图片的方法
Nov 19 PHP
PHP APP微信提现接口代码
Sep 30 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
Mar 21 PHP
Laravel框架查询构造器简单示例
May 08 PHP
php字符串倒叙
Apr 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
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
深入PHP许愿墙模块功能分析
2013/06/25 PHP
PHP中的表达式简述
2016/05/29 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
原生JS实现音乐播放器
2021/01/26 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
python实现自动发送报警监控邮件
2018/06/21 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
pybind11在Windows下的使用教程
2019/07/04 Python
python双向链表原理与实现方法详解
2019/12/03 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
python3.4中清屏的处理方法
2020/07/06 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
物业门卫岗位职责
2013/12/28 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
工作证明书
2015/06/15 职场文书
何玥事迹观后感
2015/06/16 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
培训计划通知
2015/07/15 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书
详解运行Python的神器Jupyter Notebook
2021/06/03 Python