- PHP code
$a = 0;function test($a){ if($a==''){ return true; }else{ return false; }}这个函数为什么反回true呢
------解决方案--------------------
var_dump($a==''); 返回什么
------解决方案--------------------
∵ $a = 0 等于空
∴ $a == '' 成立
$a === '' 就不成立了
------解决方案--------------------
0,false,‘’这三个都是 == 的,你可以用 === 来判断。
------解决方案--------------------
- PHP code
0 == null == false == '' == ""当然全等都不成立,暂时就想到这么多
------解决方案--------------------
參考php手冊的empty函數,和這差不多。
bool empty ( mixed var )
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
------解决方案--------------------