为了账号安全,请及时绑定邮箱和手机立即绑定

你可能经常用但是并不熟悉的PHP函数 - empty()

标签:
PHP

empty() 这可能是我们在php开发中最常用的一个函数了,判断一个变量是否为空,但是可能你并没有完全的玩转它,今天和我一起抛开empty()的面纱。

官方定义

bool empty ( mixed $var )

判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。

empty是如何的存在

empty 是一个语言构造器而不是一个函数,没有函数的额外开销,因此在性能上是优于函数的。

什么是空

嗯,色即是空!那除了色之外那?

  • "" (空字符串)
  • 0 (作为整数的0)
  • 0.0 (作为浮点数的0)
  • "0" (作为字符串的0)
  • NULL
  • FALSE
  • array() (一个空数组)
  • $var; (一个声明了,但是没有值的变量)

尤其最后两项,一个空的数组和声明未赋值的变量也叫空~

PHP5.5是一个分水岭

在 PHP 5.5 之前,empty() 仅支持变量;任何其他东西将会导致一个解析错误。
在 PHP 5.5 之后,empty() 没有警告会产生,哪怕变量并不存在。并且也支持了表达式,你看 empty() 参数类型是mixed了。mixed解释

因此在PHP5.5之后,empty() 可以传入一个函数表达式了,如下代码是可以接受的

function hello($var){
    return $var;
}

empty(hello("world"));

而如果上面的代码放到PHP5.5之前,则会收到一个报错信息

Fatal error: Can't use function return value in write context。
一个出镜率很高的例子

接下来我们做一个例子,判断一个数组是否为空(是不是数组你也不知道其实),使用 empty() 我们要如何做那?

empty($arr) && is_array($arr)
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
1万
获赞与收藏
234

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消