【背景】
折腾:
期间,发现PHP中,好像去判断一些值,都是通过三个等于号去判断的:
if($status === null) { if($httpCode < 400) { return TRUE; } else { return FALSE; } }
和:
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $log_file_default = 'c:/php/logfile.txt'; }
想要去搞清楚具体含义。
【折腾过程】
1.官网的:
例子 | 名称 | 结果 |
$a == $b | 等于 | TRUE,如果类型转换后 $a 等于 $b。 |
$a === $b | 全等 | TRUE,如果 $a 等于 $b,并且它们的类型也相同。 |
$a != $b | 不等 | TRUE,如果类型转换后 $a 不等于 $b。 |
$a <> $b | 不等 | TRUE,如果类型转换后 $a 不等于 $b。 |
$a !== $b | 不全等 | TRUE,如果 $a 不等于 $b,或者它们的类型不同。 |
$a < $b | 小与 | TRUE,如果 $a 严格小于 $b。 |
$a > $b | 大于 | TRUE,如果 $a 严格大于 $b。 |
$a <= $b | 小于等于 | TRUE,如果 $a 小于或者等于 $b。 |
$a >= $b | 大于等于 | TRUE,如果 $a 大于或者等于 $b。 |
2.浅析php中三个等号(===)和两个等号(==)的区别_php技巧_脚本之家
$a=’2′;//字符型2
$b=2;//数值型2$a==$b,是对的,都是2
$a===$b,是不对的,因为$a是字符型$b是数值型,值虽一样,但类型不一样。
觉得很是特别。。
3.浅析JavaScript和PHP中三个等号(===)和两个等号(==)的区别 – IT-Homer – 博客频道 – CSDN.NET
先说 ===,这个比较简单,具体比较规则如下:
1、如果类型不同,就[不相等]
2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)
【总结】
- a===b,是先判断a和b的类型是否相同,如果不用则False;如果相同,再判断值是否相同。
- 所以:’2’===2->False
- a==b,是判断a(支持自动类型转换)的值和b的值是否相同->所以’2’和2,在值上是一样的。
- 所以:’2’==2->True
转载请注明:在路上 » 【整理】PHP中的三个等于号===的含义