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与javascript的两种交互方式
Oct 09 PHP
PHP 检查扩展库或函数是否可用的代码
Apr 06 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
Aug 09 PHP
PHP多线程类及用法实例
Dec 03 PHP
php提高网站效率的技巧
Sep 29 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
Jul 06 PHP
laravel创建类似ThinPHP中functions.php的全局函数
Nov 26 PHP
PHP常见加密函数用法示例【crypt与md5】
Jan 27 PHP
laravel 使用auth编写登录的方法
Sep 30 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 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 Session 变量的使用方法详解与实例代码
2013/09/11 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
jquery自定义表格样式
2015/11/23 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
2018/07/10 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
flask入门之表单的实现
2018/07/18 Python
python3使用GUI统计代码量
2019/09/18 Python
python爬虫中多线程的使用详解
2019/09/23 Python
开办饭店创业计划书
2013/12/28 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
关于赌博的检讨书
2014/01/24 职场文书
挂牌仪式主持词
2014/03/20 职场文书
销售顾问工作计划书
2014/08/15 职场文书
学校联谊协议书
2014/09/16 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
四年级小学生评语
2014/12/26 职场文书
离婚纠纷代理词
2015/05/23 职场文书
严以律己学习心得体会
2016/01/13 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
create-react-app开发常用配置教程
2022/06/25 Javascript