如果不等效 在什么地方会有区别?
|
xuxuJun 8, 2015
1
$foo没定义时 if($foo) 会报warning.
|
|
manhereJun 8, 2015
2
$foo = 0;
|
|
IsonJun 8, 2015
3
var_dump
|
|
fangjinminJun 8, 2015
4
不一样,看函数定义吧。empty对于0, "", 0.0, "0", array(), NULL, FALSE, 没赋值的$var都认为是TRUE.
|
|
oott123Jun 8, 2015
5
> No warning is generated if the variable does not exist. That means empty() is essentially the concise equivalent to !isset($var) || $var == false.
via http://php.net/manual/en/function.empty.php 也就是说,在 $var 未定义的时候不等效。 |
|
bomblessJun 8, 2015
6
应该是 if(isset($foo) && $foo)
|
|
wavingclearJun 9, 2015
7
@bombless 1楼是对的
isset 和 empty 同是语言结构,所以那样写没啥意义…… |
|
cevincheungJun 9, 2015
8
@xuxu notice
|