empty() 这可能是我们在php开发中最常用的一个函数了,判断一个变量是否为空,但是可能你并没有完全的玩转它,今天和我一起抛开empty()的面纱。
官方定义
bool empty ( mixed $var ) 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
empty是如何的存在empty 是一个语言构造器而不是一个函数,没有函数的额外开销,因此在性能上是优于函数的。
什么是空嗯,色即是空!那除了色之外那?
尤其最后两项,一个空的数组和声明未赋值的变量也叫空~
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) 来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1159/viewspace-2800013/ ,如需转载,请注明出处,否则将追究法律责任。