深入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 相关文章推荐
支持oicq头像的留言簿(二)
Oct 09 PHP
php字符串截取问题
Nov 28 PHP
一步一步学习PHP(4) php 函数 补充2
Feb 15 PHP
php学习之 循环结构实现代码
Jun 09 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
Jun 03 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
php生成PDF格式文件并且加密
Jun 22 PHP
PHP与服务器文件系统的简单交互
Oct 21 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
php use和include区别总结
Oct 13 PHP
PHP数组访问常用方法解析
Sep 05 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 smarty模版引擎中的缓存应用
2009/12/02 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
php备份数据库类分享
2015/04/14 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
斜45度寻路实现函数
2009/08/20 Javascript
ejs v9 javascript模板系统
2012/03/21 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
javascript常用方法汇总
2014/12/02 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
webpack优化的深入理解
2018/12/10 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
python插入排序算法的实现代码
2013/11/21 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
python将unicode和str互相转化的实现
2020/05/11 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
Python爬虫爬取糗事百科段子实例分享
2020/07/31 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
中间件的定义
2016/08/09 面试题
贫困证明书格式及范文
2014/10/15 职场文书
2015年教学管理工作总结
2015/05/20 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
新学期感想
2015/08/10 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL