什么做!==和===在PHP中意味着什么?

可能重复:
比较运算符的等式(== double等于)和identity(=== triple等于)如何不同?
参考 - 这个符号在PHP中的含义是什么?
PHP不等于!=和!==

此代码段中的!=====运算符是什么?

if ( $a !== null ) // do something
if ( $b === $a ) // do something

他们是严格的类型比较运算符。 他们不仅检查价值,而且检查类型

考虑一下比较数字或字符串的情况:

if (4 === 4) // same value and type
{
  // true
}

if (4 == "4") // same value and different type but == used
{
  // true
}

if (4 === "4") // same value but different type
{
  // false
}

这适用于对象以及数组。

所以在上述情况下,您必须明智地选择是使用==还是===

当你确定类型时,最好使用===

更多信息:

  • http://php.net/manual/en/types.comparisons.php

  • 他们是身份对等运算符。

    1 == 1
    1 == "1"
    1 === 1
    1 !== "1"
    true === true
    true !== "true"
    true == "true"
    

    所有这些都等同于真实。 另请查看@mbeckish提供的链接


    ===还检查变量的类型。

    例如, "1" == 1返回true,但"1" === 1返回false。 它对于可能返回0或False的函数特别有用(例如strpos)。

    这将无法正常工作,因为strpos返回0和0 == false

    if (strpos('hello', 'hello world!'))
    

    但是,这将起作用:

    if (strpos('hello', 'hello world!') !== false)
    
    链接地址: http://www.djcxy.com/p/58599.html

    上一篇: What do !== and === mean in PHP?

    下一篇: The usage of == and === in php