我注意到使用PHP操作人===
我不能弄明白。 我曾与一个函数试了一下,它疯狂的方式对应。
这是什么操作的定义是什么? 我甚至无法找到它在PHP运算符的声明。
我注意到使用PHP操作人===
我不能弄明白。 我曾与一个函数试了一下,它疯狂的方式对应。
这是什么操作的定义是什么? 我甚至无法找到它在PHP运算符的声明。
$a === $b (Identical)
TRUE,如果
$a
等于$b
,它们都是同一类型的。 (PHP 4引进)
PHP文件
http://www.php.net/ternary
$ A == $ B以下TRUE,如果$ a等于$ b,除了(真== -1),这仍然是正确的。
$ A $ === b全等TRUE,如果$ a等于$ b,并且它们是相同类型的。
> "5" == 5;
True
> "5" === 5;
False
你可以阅读在这里 ,简短的摘要:
$ A == $ B以下TRUE,如果$ a等于$ b型杂耍之后。
$ A $ === b全等TRUE,如果$ a等于$ b,并且它们是相同类型的。
在PHP中,你可以比较使用==操作符或===操作两个值。 所不同的是这样的:
PHP是一种动态解释语言,这是不严格的数据类型。 这意味着,语言本身会尝试转换数据类型,需要的时候。
echo 4 + "2"; // output is 6
输出是整数值6,因为+
是在PHP数值加法运算符,因此,如果提供的操作数与其它数据类型到它,PHP将首先将它们转化为它们相应的类型(“2”将被转换为2),然后执行该操作。
如果使用==作为比较操作有两个操作数,可能是在不同的数据类型,PHP将转换为第二个操作数的类型,在第一的。 所以:
4 == “4” //真
PHP转换“4”到4,然后进行比较的值。 在这种情况下,结果将是正确的。
如果您使用===作为比较操作,PHP不会试图将任何数据类型。 因此,如果操作数的类型是不同的,那么他们是不相同的。
4 === “4” //假
$x == $y
如果$ x和$ y的值都同样如此:
$x = 1; //int type
$y = "1"; //string type
if ($x == $y) {
// This will execute
}
$x === $y
TRUE,如果$ x和$ y的值是相同的,为$类型x和$ y是相同的:
$x = 1; //int type
$y = "1"; //string type
if ($x === $y) {
// This will not execute
}
你会看到很多动态类型语言此操作,不只是PHP。
==
将尝试转换不管它处理成可以比较的类型。
===
将严格比较的类型和价值。
在你必须要小心==任何动态类型语言,你可以得到一些有趣的错误。
三元===
不太方便,但它的安全。 对于比较,你要经常给一些额外的思想是否应该===
或==
三重等号===检查,看两个变量是否相等,相同类型的。
对于PHP,有很多不同的含义零可以采取
所以===被添加到确保类型和值是相同的。
见双重和三重等于运营商在PHP中 ,我得到了在谷歌上搜索“PHP三等于运算符”。
在一个点上它说:
双=符号是比较和试验可变/表达/常数向左是否具有相同的值作为变量/表达/恒定到右侧。
三重=符号是比较以看到两个变量/ expresions /常量是否相等并且具有相同的类型 - 即两个都是字符串或两者都是整数。
这也给了一个例子来解释它。
“===”匹配变量中的值,以及变量的数据类型。