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加MYSQL服务器
Oct 09 PHP
php date()日期时间函数详解
May 16 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
Jun 10 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 PHP
PHP处理Oracle的CLOB实例
Nov 03 PHP
php 数组处理函数extract详解及实例代码
Nov 23 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
Apr 05 PHP
laravel migrate初学常见错误的解决方法
Oct 11 PHP
php微信公众号开发之快递查询
Oct 20 PHP
PHP文件后缀不强制为.php方法
Mar 31 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
Apr 07 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
php之curl设置超时实例
2014/11/03 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
ThinkPHP5&5.1框架关联模型分页操作示例
2019/08/03 PHP
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
jQuery中复合属性选择器用法实例
2014/12/31 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
浅谈JS继承_寄生式继承 & 寄生组合式继承
2016/08/16 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
VueJs使用Amaze ui调整列表和内容页面
2017/11/30 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
numpy下的flatten()函数用法详解
2019/05/27 Python
python字典的常用方法总结
2019/07/31 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
python实现复制文件到指定目录
2019/10/16 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
财务总监岗位职责
2015/02/03 职场文书
Nginx配置https的实现
2021/11/27 Servers
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android