深入PHP empty(),isset(),is_null()的实例测试详解


Posted in PHP onJune 06, 2013

有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚。这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些。

测试的类型如下:

<?php

$a;
$b = false;
$c = '';
$d = 0;
$e = null;
$f = array();

?>

empty()

首先是empty的var_dump输出:

<?php

var_dump(empty($a));
var_dump(empty($b));
var_dump(empty($c));
var_dump(empty($d));
var_dump(empty($e));
var_dump(empty($f));

?>

程序输出为:

bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

从代码中可以看出,只要数据类型是否为空或假,empty()就输出true。

isset()

再看看isset的输出:

var_dump(isset($a));
var_dump(isset($b));
var_dump(isset($c));
var_dump(isset($d));
var_dump(isset($e));
var_dump(isset($f));

// 输出
bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)

可以看出isset()只能用来判断是否为NULL和未定义。

is_null()

最后是is_null的输出:

var_dump(is_null($a));
var_dump(is_null($b));
var_dump(is_null($c));
var_dump(is_null($d));
var_dump(is_null($e));
var_dump(is_null($f));

// 输出
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(false)

is_null 字面意思了。

由此可见 empty() 可以用来判定所有的数据类型是否为空或假,而 is_null 与 isset 基本一样,只能用来判断是否为NULL和未定义。

PHP 相关文章推荐
无限级别菜单的实现
Oct 09 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
程序员的表白神器“520”大声喊出来
May 20 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
thinkPHP数据库增删改查操作方法实例详解
Dec 06 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
PHP实现websocket通信的方法示例
Aug 28 PHP
PHP rsa加密解密算法原理解析
Dec 09 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 #PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 #PHP
深入PHP获取随机数字和字母的方法详解
Jun 06 #PHP
解析如何屏蔽php中的phpinfo()函数
Jun 06 #PHP
深入PHP中慎用双等于(==)的详解
Jun 06 #PHP
解析PHP中如何将数组变量写入文件
Jun 06 #PHP
浅谈PHP强制类型转换,慎用!
Jun 06 #PHP
You might like
PHP session有效期问题
2009/04/26 PHP
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
php中的异常和错误浅析
2017/05/03 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
django框架自定义用户表操作示例
2018/08/07 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
详解python中@的用法
2019/03/27 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
python 默认参数相关知识详解
2019/09/18 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
python 用opencv实现霍夫线变换
2020/11/27 Python
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
写自荐信的七个技巧
2013/10/15 职场文书
小学生演讲稿大全
2014/04/25 职场文书
毕业设计说明书
2014/05/07 职场文书
小学生环保标语
2014/06/13 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
防暑降温通知书
2015/04/27 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书