如果不等效 在什么地方会有区别?
1
xuxu Jun 8, 2015
$foo没定义时 if($foo) 会报warning.
|
2
manhere Jun 8, 2015
$foo = 0;
|
3
Ison Jun 8, 2015
var_dump
|
4
fangjinmin Jun 8, 2015
不一样,看函数定义吧。empty对于0, "", 0.0, "0", array(), NULL, FALSE, 没赋值的$var都认为是TRUE.
|
5
oott123 Jun 8, 2015
> 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 未定义的时候不等效。 |
6
bombless Jun 8, 2015
应该是 if(isset($foo) && $foo)
|
7
wavingclear Jun 9, 2015
@bombless 1楼是对的
isset 和 empty 同是语言结构,所以那样写没啥意义…… |
8
cevincheung Jun 9, 2015
@xuxu notice
|