深入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 iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
PHP URL地址获取函数代码(端口等) 推荐
May 15 PHP
PHP MemCached 高级缓存应用代码
Aug 05 PHP
php比较两个绝对时间的大小
Jan 31 PHP
ThinkPHP令牌验证实例
Jun 18 PHP
浅析php单例模式
Nov 25 PHP
php 如何获取文件的后缀名
Jun 05 PHP
PHP 7.0新增加的特性介绍
Jun 08 PHP
PHP示例演示发送邮件给某个邮箱
Apr 03 PHP
PHP实现获取url地址中顶级域名的方法示例
Jun 05 PHP
php+laravel依赖注入知识点总结
Nov 04 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 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读取xml实例代码
2010/01/28 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
return false;和e.preventDefault();的区别
2010/07/11 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
2016/08/05 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
Angular的$http与$location
2016/12/26 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
详解Python的Django框架中的模版继承
2015/07/16 Python
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
python斐波那契数列的计算方法
2018/09/27 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
python默认参数调用方法解析
2020/02/09 Python
学习python需要有编程基础吗
2020/06/02 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
为什么要使用servlet
2016/01/17 面试题
什么是servlet
2012/05/08 面试题
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
八项规定个人对照检查材料思想汇报
2014/09/25 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
学校食堂管理制度
2015/08/04 职场文书
学校少先队工作总结
2015/08/12 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书
Win2008系统搭建DHCP服务器
2022/06/25 Servers