1

在 php 中,如果你这样做var_export( 0 == 'xxx' ),它会返回 true。这在逻辑上有何意义?

4

1 回答 1

12

请记住,PHP 将为您类型转换值。由于您正在进行整数到字符串的比较,因此xxx将转换为 int,并且由于其中没有有效的 number-y 类型值,因此xxx将变为0. 所以你正在有效地测试0 == 0,这总是正确的。

如果你有类似的东西0 == '42xx',那么它会转换为0 == 42假的。

还有严格的相等测试,===比较值和类型,其中,0 === 'xxx'FALSE

于 2013-09-23T17:54:00.780 回答