什么做!==和===在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
}
这适用于对象以及数组。
所以在上述情况下,您必须明智地选择是使用==
还是===
当你确定类型时,最好使用===
更多信息:
他们是身份对等运算符。
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