在PHP 5.3中,我偶然发现了这个案例:
$test=true;
return $test=='alternate';
它返回true。我不懂为什么。
为什么它会返回true?
另外就是说:
$test=true;
return $test==='alternate';
返回false。这是理所当然的。我知道在大多数情况下使用严格比较会更好,但我想了解第一种情况会发生什么?
答案 0 :(得分:2)
非空字符串被认为是真实的。将真实与真实收益率进行比较,真实。
有关详细信息,请参阅http://www.php.net/manual/en/types.comparisons.php。并始终使用严格的比较。你很少需要松散的,但在每种情况下,你都会怀疑你是否打算输入变量或是否是错误。