发布日期:2018-03-26
为什么isset()和!empty()都要使用?+ 查看更多
为什么isset()和!empty()都要使用?
+ 查看更多
发布日期:2018-03-07 16:06
分类:PHP
浏览次数:105
如下:
isset()函数与!empty()函数的功能有什么区别吗?做两次布尔检查是正确的还是多余的呢?有没有更简洁的方式做这件事情?
isset($vars[1]) AND !empty($vars[1])
回答
这样完全就是多余的。
empy($var) 等价于使用 isset($var) 检查 $var 是否设置,同时判断 $var 是否为true,即,empty($var) 等价于 !isset($var) || !$var ,是其简化形式。换句话说, !empty($var) 等价于 !isset($var) && $var。
另外,empty($var) 与 !$var 相似。不过当变量 $var 不存在时,empty($var) 不会抛出警告,即,empty($var) 不需要考虑 $var 是否被设置。对此,PHP文档上是这样写的:
No warning is generated if the variable does not exist. That means empty() is essentially the concise equivalent to !isset($var) || $var == false.