PHP 7.4字符串比较



谁能解释一下为什么在下面的第一个例子中,比较返回false

?在第二个例子中,你可以看到只要改变第一个字符它就会返回true相反。

我错过了什么?

(1 != "1f9bb589-434d-46ce-9b0d-fe101619ce6f") -> bool(false)

(1 != "2f9bb589-434d-46ce-9b0d-fe101619ce6f") -> bool(true)

!=运算符执行与类型杂耍的比较。由于第一个操作数是整型,所以比较操作以数字形式执行,并且第二个操作数也被强制为整型。这意味着取第一个数字序列并将其转换为int型,之后的所有内容都被丢弃。在第一个例子中,第一个数字序列是"1",所以你得到1 != 1,这显然是假的。在第二个例子中,你同样得到1 != 2,这显然是正确的。

相关内容

  • 没有找到相关文章

最新更新