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 相关文章推荐
ZF等常用php框架中存在的问题
Jan 10 PHP
php smarty的预保留变量总结
Dec 04 PHP
php 方便水印和缩略图的图形类
May 21 PHP
PHP 函数学习简单小结
Jul 08 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
Sep 13 PHP
基于CakePHP实现的简单博客系统实例
Jun 28 PHP
PHP使用数组依次替换字符串中匹配项
Jan 08 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
Jul 13 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
laravel中命名路由的使用方法
Feb 24 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 09 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源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
与文件上传有关的php配置参数总结
2013/06/14 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
Exjs 入门篇
2010/04/07 Javascript
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
jquery+easeing实现仿flash的载入动画
2015/03/10 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
微信小程序之picker日期和时间选择器
2017/02/09 Javascript
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
python中mechanize库的简单使用示例
2014/01/10 Python
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
ajax是什么及其工作原理
2012/02/08 面试题
促销活动总结范文
2014/04/30 职场文书
法人授权委托书
2014/09/16 职场文书
离婚协议书格式
2015/01/26 职场文书
导游词400字
2015/02/13 职场文书
2016新年慰问信范文
2015/03/25 职场文书
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技