日期:2014-05-17  浏览次数:20471 次

empty和取非的区别?
在平常的编程过程中,我发现empty和对变量取非基本上是一样的。
比如 $a=0 empty($a)和!$a是一样的
而这个$a,无论是空字符串,字符串0, 数字0, 布尔false, null ,基本上都是一样的。

而任何不属于上述内容的东西,都可以在条件中当做真值来处理。

所以不知道,if(empty($a))和if(!$a)是否可以通用
if($a) 和 if (!empty($a))是否可以通用?

------解决方案--------------------
有差異,如果用empty,就算你的變量沒有定義都沒關係,但是如果用!非的話變量不定義是不行的.
你測試看看下邊的兩行代碼就知道了
<?PHP
var_dump(empty($a));
var_dump(!$a);
------解决方案--------------------
223494678 
這是我的qq群,有興趣可以來交流
------解决方案--------------------
http://php.net/manual/en/types.comparisons.php
看empty和bool的区别。
------解决方案--------------------
在屏蔽掉 Notice 级别错误时,两者是一样的
------解决方案--------------------
查看官网empty的说明手册,很清楚的。
如果怕报错,可以先用isset来试探是否有