0

我很难理解为什么以下两个布尔表达式会返回不同的结果。

(0 == "some_string") returns TRUE
(0 === "some_string") returns FALSE

我知道第二个表达式返回FALSE是因为 0 和“some_string”不是同一类型,但我不明白为什么第一个表达式返回 TRUE。PHP 将 0 评估为 FALSE,将非空字符串评估为 TRUE,并且 0 与“some_string”不同。我只是看不到第一个表达式如何评估它的方式。我是否缺少一个基本概念?

4

1 回答 1

2

那是因为它强制转换"some_string"int以便将其与0. 照"some_string"原样。int_ 0_ 查看有关类型杂耍的手册页以了解更多信息。0 == 0true

于 2012-05-17T23:07:46.840 回答