深入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 学习提高路线分享
Oct 23 PHP
php引用地址改变变量值的问题
Mar 23 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
Jun 10 PHP
对PHP语言认识上需要避免的10大误区
Jun 12 PHP
ThinkPHP令牌验证实例
Jun 18 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 PHP
Win7 64位系统下PHP连接Oracle数据库
Aug 20 PHP
yii,CI,yaf框架+smarty模板使用方法
Dec 29 PHP
PHP快速排序quicksort实例详解
Sep 28 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 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基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
php目录遍历函数opendir用法实例
2014/11/20 PHP
php实现有趣的人品测试程序实例
2015/06/08 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
PHP手机号中间四位用星号*代替显示的实例
2017/06/02 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
jquery tab标签页的制作
2010/05/10 Javascript
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
js回调函数仿360开机
2019/12/26 Javascript
Python yield 小结和实例
2014/04/25 Python
python交互界面的退出方法
2019/02/16 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
详解python调用cmd命令三种方法
2019/07/08 Python
关于python中密码加盐的学习体会小结
2019/07/15 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
Python图像处理库PIL的ImageFilter模块使用介绍
2020/02/26 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
J2EE相关知识面试题
2013/08/26 面试题
介绍一下Ruby的特点
2013/01/20 面试题
国贸专业的职业规划书
2014/03/15 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
爬山的活动方案
2014/08/16 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
民政工作个人总结
2015/02/28 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
2016年记者节感言
2015/12/08 职场文书
销售会议开幕词
2016/03/04 职场文书