php中if(isset($a)&&!empty($a))这样写是不是有点多余?

请问php中if(isset($a)&&!empty($a))这样写是不是有点多余?

是不是直接if(!empty($a))这样写就行了?

阅读 6.2k
5 个回答

是多余,官方手册中有写:没有警告会产生,哪怕变量并不存在。 这意味着 empty() 本质上与 !isset($var) || $var == false 等价。

empty判断是否为空,若变量存在且其值为""、0、"0"、NULL、、FALSE、 array()返回true。。一般用empty比较多

isset判断是否存在,
若变量不存在则返回 FALSE ,若变量存在且其值为NULL,也返回 FALSE

if(!empty($a))

我经常这么写。

我一般是这么写


if(!empty($a))

但是有时候特殊情况,也就是从数据库取出或者提交完之后的数据变成'0.0'的时候,

if(!empty('0.0'))  //true

所以如果是字符串的直接用


if (!empty($a)

如果是数字的


if ($a != 0)

php7 有 $val?? 写法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题