我使用'=='做了一些字符串测试。我知道比较字符串'=='不是方式,但是我想解决一个奇怪的行为。使用'=='的PHP字符串比较
我正在关注本页面中的PHP文档:http://www.php.net/manual/en/language.operators.comparison.php。这是测试我做
<?php
var_dump("100" == "1e2"); //outputs boolean true
var_dump((int) "100"); //int 100
var_dump((int) "1e2"); //int 1
?>
文档说,当我们比较数字的字符串,PHP首先将字符串转换为数字,但是当我将“100”和“1E2”为数字,他们是不相等的。比较结果应该输出boolean false。
为什么这种奇怪的行为?谢谢!
顺便说一句,这就是为什么通常最好使用'==='而不是'==',因为结果更具可预测性! – 2012-07-15 05:07:38