素材牛VIP会员
php中if(isset($a)&&!empty($a))这样写是不是有点多余?
 Ho***95  分类:PHP代码  人气:1559  回帖:6  发布于6年前 收藏

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

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

 标签:emptyphp

讨论这个帖子(6)垃圾回帖将一律封号处理……

Lv7 码师
过***天 技术总监 6年前#1

我一般是这么写


if(!empty($a))

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

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

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


if (!empty($a)

如果是数字的


if ($a != 0)
Lv1 新人
10***19 学生 6年前#2

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

Lv5 码农
隔***王 学生 6年前#3

php7 有 $val?? 写法

Lv1 新人
鬼***5 UI设计师 6年前#4

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

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

Lv3 码奴
走***一 交互设计师 6年前#5
if(!empty($a))

我经常这么写。

Lv2 入门
SW***CH 职业无 6年前#6
empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置。empty还会检测变量是否为空、为零。当一个变量值为0,empty() 认为这个变量同等于空,即相当于没有设置。
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取