深入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 相关文章推荐
vBulletin HACK----关于排版的两个HACK
Oct 09 PHP
修改了一个很不错的php验证码(支持中文)
Feb 14 PHP
PHP简单系统查询模块代码打包下载
Jun 07 PHP
PHP的SQL注入过程分析
Jan 06 PHP
自己在做项目过程中学到的PHP知识收集
Aug 20 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
CodeIgniter实现更改view文件夹路径的方法
Jul 04 PHP
php通过sort()函数给数组排序的方法
Mar 18 PHP
Yii统计不同类型邮箱数量的方法
Oct 18 PHP
php加密之discuz内容经典加密方式实例详解
Feb 04 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
Laravel关系模型指定条件查询方法
Oct 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 $_FILES函数详解
2011/03/09 PHP
PHP异常处理浅析
2015/05/12 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
JavaScript CSS修改学习第五章 给“上传”添加样式
2010/02/19 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
在vue中读取本地Json文件的方法
2018/09/06 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
深入理解Python中装饰器的用法
2016/06/28 Python
python3 发送任意文件邮件的实例
2018/01/23 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
python标记语句块使用方法总结
2019/08/05 Python
详解Python高阶函数
2020/08/15 Python
利用 CSS3 实现的无缝轮播功能代码
2017/09/25 HTML / CSS
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
工程售后服务承诺书
2014/05/21 职场文书
工会趣味活动方案
2014/08/18 职场文书
八项规定个人对照检查材料思想汇报
2014/09/25 职场文书
西双版纳导游词
2015/02/03 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android