PHP中字符串和数字 0 比较返回true?
展开阅读全文
$str="字符串";
if($str==0){   
  echo "返回了true.";
}

执行结果是输出了: 返回了true.这里任意字符串和0比较都返回true

原理:

if($str==0),字符串和数字比较是否相等, 相当于 把$str 字符串隐性转换为数字,然后再比较,相当于 if( intval($str) == 0 )

if($str==0) 判断 和 if( intval($str) == 0) 是等价的,而和 if ($str) 是不一样的。if ($str) 可以判断 $str值有没有被初始化。

有没有付值,只要付值,就返回true。

当然你也可以使用 $str="字符串";if($str===0){echo "返回了true.";} ,就是 判断 $str的数据类型 和值 都和0的值 数据类型一样, 才可以返回true