首页 > 后端开发 > php教程 > PHP empty()与isset()与is_null()的区别

PHP empty()与isset()与is_null()的区别

WBOY
发布: 2016-06-20 12:53:53
原创
724 人浏览过

有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚。这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些。

测试的类型如下:

<?php$a;$b = false;$c = '';$d = 0;$e = null;$f = array();?>
登录后复制



empty()

首先是empty的var_dump输出:

<?phpvar_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.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板