【整理】PHP中的三个等于号===的含义

【背景】

折腾:

【记录】php中如何写类和如何使用类

期间,发现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.官网的:

PHP: 比较运算符 – Manual

例子

名称

结果

$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()来判断)

 

4.【整理】PHP中的NaN是什么意思

 

【总结】

  • a===b,是先判断a和b的类型是否相同,如果不用则False;如果相同,再判断值是否相同。
    • 所以:’2’===2->False
  • a==b,是判断a(支持自动类型转换)的值和b的值是否相同->所以’2’和2,在值上是一样的。
    • 所以:’2’==2->True


发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量