为什么以下字符串比较返回true?
我正在使用Laravel框架4.2,Form :: select使用此方法比较选项值,并找到不应该匹配的匹配项。
public function testStringComparison1()
{
$value = '8000003E-1408739159';
$selected = '8000010E-1434656519';
$b = false;
if ((string) $value == (string) $selected) {
$b = true;
}
$this->assertFalse($b); // this fails, $b == true
}
public function testStringComparison2()
{
$value = '8000008E-1408740949';
$selected = '8000010E-1434656519';
$b = false;
if ((string) $value == (string) $selected) {
$b = true;
}
$this->assertFalse($b); // this fails, $b == true
}
答案 0 :(得分:0)
如果你想确保类型匹配,不仅仅是值(类型转换的怪异东西),请使用===
。