深入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 相关文章推荐
如何使用PHP往windows中添加用户
Dec 06 PHP
PHP下10件你也许并不了解的事情
Sep 11 PHP
PHP版 汉字转码的实现详解
Jun 09 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
PHP生成和获取XML格式数据的方法
Mar 04 PHP
php rsa 加密,解密,签名,验签详解
Dec 06 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
php抽象类和接口知识点整理总结
Aug 02 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
Aug 03 PHP
PHP使用递归按层级查找数据的方法
Nov 10 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更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
header导出Excel应用示例
2014/01/24 PHP
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
微信小程序登录session的使用
2019/03/17 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
django基于restframework的CBV封装详解
2019/08/08 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
搞笑婚礼主持词
2014/03/13 职场文书
师德模范事迹材料
2014/06/03 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
2016年第16个全民国防教育日宣传活动总结
2016/04/05 职场文书
遇事可以测出您的见识与格局
2019/09/16 职场文书
MySQL一些常用高级SQL语句
2021/07/03 MySQL
Python实现归一化算法详情
2022/03/18 Python
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB