深入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 相关文章推荐
关于BIG5-HKSCS的解决方法
Mar 20 PHP
PHPWind 发帖回帖Api PHP版打包下载
Feb 08 PHP
yii框架源码分析之创建controller代码
Jun 28 PHP
PHP防止跨域提交表单
Nov 01 PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 PHP
再Docker中架设完整的WordPress站点全攻略
Jul 29 PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
Oct 18 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
php strftime函数获取日期时间(switch用法)
May 16 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
thinkphp模板输出技巧汇总
2014/11/24 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
菜单效果
2006/10/14 Javascript
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
web前端开发也需要日志
2010/12/09 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
jQuery Validate表单验证入门学习
2015/12/18 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
2017/10/25 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
详解JavaScript中的链式调用
2020/11/27 Javascript
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
用django设置session过期时间的方法解析
2019/08/05 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
django框架auth模块用法实例详解
2019/12/10 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
纯css3实现照片墙效果
2014/12/26 HTML / CSS
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
数据库什么时候应该被重组
2012/11/02 面试题
大学生的网上创业计划书
2013/12/31 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
《灰雀》教学反思
2016/02/19 职场文书
canvas绘制折线路径动画实现
2021/05/12 Javascript