【问题标题】:The usage of == and === in php [duplicate]==和===在php中的用法[重复]
【发布时间】:2012-09-16 20:05:37
【问题描述】:

可能重复:
What does “===” mean?

我对在 php 中使用这些运算符感到困惑,我不太确定何时应该使用 === 以及何时使用 ==。

例如为什么/何时应该写:

if( $some_method_that_returns_something_or_false() === FALSE) {
      //do stuff
}

以及何时使用 ==?

另外,=== 是否意味着我必须返回 bool FALSE 或者我可以返回 0?当使用 === 或 == 被认为是不好的做法时?

还有这样的东西:

 if($some_method_that_returns_true_or_false()) {

 }

是 $some_method_that_returns_true_or_false() == TRUE 还是 some_method_that_returns_true_or_false() === TRUE?

【问题讨论】:

  • 这里这个问题肯定有1000个骗子。尝试使用右上角的搜索。

标签: php comparison-operators


【解决方案1】:

=== 表示精确值,因此对于 true 它必须为 true,而 == 检查值的含义,因此 true 也是 '1' 或任何字符串的值。

【讨论】:

  • 我明白了,本质上是这样。如果我希望它是严格的 bool 而不是例如某些对象等,我使用 ===.
  • 不是任何字符串; "0" != true"" != true
【解决方案2】:

== 用于检查相等性,=== 用于检查相等性和类型。

if($some_method_that_returns_true_or_false()) {

}

正在检查$some_method_that_returns_true_or_false() == TRUE

【讨论】:

    猜你喜欢
    • 2013-01-06
    • 1970-01-01
    • 2016-02-21
    • 2011-05-21
    • 2013-02-15
    • 2018-09-01
    • 2021-11-13
    • 1970-01-01
    • 2017-02-27
    相关资源
    最近更新 更多