首页 > 技术文章 > =和==和===的区别

smallzhen 2019-11-16 00:06 原文

  在php中,“=”和“==”和“===”在判断语句中是不一样的执行效果。

  =:比如以下代码:

  

 

 

   "="为赋值运算符,这意味着右侧赋值表达式会为左侧运算数设置值。if语句种相当于将7赋值给了变量d,并且7为true,因此执行了echo 1;

 

  ==:比较运算符,请看以下代码

 

 

    上面代码执行后可以验证,如果类型转换后的$a 等于 $b则为true,数字7与数字8同为int型,但是7显然不等于8,因此echo 0 没有被执行。而int 2 转为bool值为true,于是echo 1被执行。同理得剩下的几个判断条件。

   ===:比较运算符,全等于。如果$a 等于 $b且他们的类型也相同则为true。

 

   由此可见,===不会将两个变量转换类型后再比较,直接比较值与其内容,数字0不等于字符0,因此0===“0”值为false。

  以上。

推荐阅读