在平等比较会产生与严格的相等比较相同的结果的情况下,应该使用哪两个?

Ema*_*sev 7 php coding-style operators

为了给出一个例子,它应该$name == "John Doe"还是$name === "John Doe"

我猜想平等比较会表现得更差,因为他们会进行某种类型的投射.

ps我知道选择一个相对于另一个的性能增益可以忽略不计,如果有的话.这是一个原则问题.

Tee*_*mas 0

===type除了相等性之外,还检查。这是比较运算符的手册。

正如评论中提到的,我编辑了我的答案,

==当您不知道比较值的类型时使用,例如。带有数字的字符串 -if($str == $num)其中 $str = '5' 且 $num = 5。当您也想比较它们的类型(严格)时,您可以使用===. 多年来,我了解到使用===更好,因为在大多数情况下,作为程序员,您确实知道您正在比较的类型,并且从长远来看,严格的编程实践总是更好(更高效,更少错误)。