PHP中的empty、isset、isnull的区别与使用实例

 更新时间:2019年03月22日 15:08:51   作者:CODETC   我要评论
今天小编就为大家分享一篇关于PHP中的empty、isset、isnull的区别与使用实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

做php开发时候,通常会用到empty,isset,is_null这几个函数,使用不当的话甚至给自己的程序带来一些安全隐患的bug。很多时候,对于isset,empty都认为差不多。因此开发时候,就没有注意,一段作为流程判断时候,就出现bug问题了。下面我们分别介绍一下这三个函数的区别和使用。

empty

如果 变量 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0″、NULL、FALSE、array()、var $var、未定义;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。 代码示例:

$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a 为空' . "";
if (empty($b)) echo '$b 为空' . "";
if (empty($c)) echo '$c 为空' . "";
if (empty($d)) echo '$d 为空' . "";
// 以上输出皆为空

isset

如果 变量 存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义)。变量值设置为:null,返回也是false;unset一个变量后,变量被取消了。注意,isset对于NULL值变量,特殊处理。 代码示例:

$a = '';
$a['c'] = '';
if (!isset($a)) echo '$a 未被初始化' . "";
if (!isset($b)) echo '$b 未被初始化' . "";
if (isset($a['c'])) echo '$a 已经被初始化' . "";
// 显示结果为
// $b 未被初始化
// $a 已经被初始化

is_null

检测传入值【值,变量,表达式】是否是null,只有一个变量定义了,且它的值是null,它才返回TRUE . 其它都返回 FALSE 【未定义变量传入后会出错!】

$a = null;
$b = false;
if (is_null($a)) echo '$a 为NULL' . "";
if (is_null($b)) echo '$b 为NULL' . "";
if (is_null($c)) echo '$c 为NULL' . "";
// 显示结果为
// $a 为NULL
// Undefined variable: c

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • laravel 解决Eloquent ORM的save方法无法插入数据的问题

    laravel 解决Eloquent ORM的save方法无法插入数据的问题

    今天小编就为大家分享一篇laravel 解决Eloquent ORM的save方法无法插入数据的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • IIS 7.5 asp Session超时时间设置方法

    IIS 7.5 asp Session超时时间设置方法

    这篇文章主要介绍了IIS 7.5中asp Session超时时间设置方法,需要的朋友可以参考一下
    2017-04-04
  • PHP实现QQ、微信和支付宝三合一收款码实例代码

    PHP实现QQ、微信和支付宝三合一收款码实例代码

    这篇文章主要给大家介绍了关于利用PHP如何实现QQ、微信和支付宝三合一收款码的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-02-02
  • php生成缩略图填充白边(等比缩略图方案)

    php生成缩略图填充白边(等比缩略图方案)

    上传图片直接缩放的话就会导致图片变形,这样体验肯定就不好了。下面提供一种解决方法,缩小后添加白边的方法看下面的代码实现
    2013-12-12
  • Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室

    Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室

    这篇文章主要介绍了Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • PHP后台备份MySQL数据库的源码实例

    PHP后台备份MySQL数据库的源码实例

    今天小编就为大家分享一篇关于PHP后台备份MySQL数据库的源码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • CodeIgniter常用知识点小结

    CodeIgniter常用知识点小结

    这篇文章主要介绍了CodeIgniter常用知识点,包括跳转、常量定义、语言设置及支持get方法传参等技巧,需要的朋友可以参考下
    2016-05-05
  • PHP命令行脚本接收传入参数的三种方式

    PHP命令行脚本接收传入参数的三种方式

    这篇文章主要介绍了PHP命令行脚本接收传入参数的三种方式,即把PHP脚本像Python脚本、Ruby脚本、Shell脚本一样,用来处理命令行程序,如何获取命令行中的参数,需要的朋友可以参考下
    2014-08-08
  • thinkphp实现附件上传功能

    thinkphp实现附件上传功能

    这篇文章主要为大家详细介绍了thinkphp实现附件上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Yii中使用PHPExcel导出Excel的方法

    Yii中使用PHPExcel导出Excel的方法

    这篇文章主要介绍了Yii中使用PHPExcel导出Excel的方法,涉及Yii中针对PHPExcel的设置以及相关文件的修改技巧,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12

最新评论