这主要和php是无类型语言有关,比如 null,false,array(),”,0,”0″这几个值如果用==他们是相等的,但是你如果判断出某个值真正的返回值呢,就可以用 ===
$a = 0;
$b = false;
$a === false 不成立,但 $b === false成立,如果是==, $a == false 和 $b == false都成立
===运算符还是很有用的,php有些内置函数成功会返回某个值,失败会返回false,假如成功了但返回的是”或者0之类的空值你怎么判断成功或者失败呢?这是就可以用 === ,它可以区分变量类型。
参考:
比较运算符
例子 名称 结果
$a == $b 等于 true,如果 $a 等于 $b。
$a === $b 全等 true,如果 $a 等于 $b,并且它们的类型也相同。(php 4 引进)
$a != $b 不等 true,如果 $a 不等于 $b。
$a $b 不等 true,如果 $a 不等于 $b。
$a !== $b 非全等 true,如果 $a 不等于 $b,或者它们的类型不同。(php 4 引进)
$a 小与 true,如果 $a 严格小于 $b。
$a > $b 大于 true,如果 $a 严格 $b。
$a 小于等于 true,如果 $a 小于或者等于 $b。
$a >= $b 大于等于 true,如果 $a 大于或者等于 $b。
如果比较一个整数和字符串,则字符串会被转换为整数。如果比较两个数字字符串,则作为整数比较。此规则也适用于 switch语句。
代码如下 复制代码
true
var_dump(1 == 01); // 1 == 1 -> true
var_dump(1 == 1e0); // 1 == 1 -> true
switch (a) {
case 0:
echo 0;
break;
case a: // never reached because a is already matched with 0
echo a;
break;
}
?>
http://www.bkjia.com/phpjc/629243.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/629243.htmltecharticle恒等计算符,和比较运算符号“==”的区别是 “==”不会检查条件式的表达式的类型,恒等计算符会同时检查表达式的值与类型。 这主要和ph...
