解析php中的==与===(双等号、三等号)

发布时间:2021-01-25编辑:脚本学堂
php中的两个等号操作符,双等号与三等号,本文介绍下二者的区别与用法,有需要的朋友参考下。

本节分享下,php中等号与三等号的用法。

在对url作处理时,遇到一些问题。
由于直接修改在服务器上的代码的,而不是上传覆盖之。
因此,判断可能是if语句那里出了问题,ftp,打开文件一看,果然,
 

if($config['urlrewrite']===1)

在赋值时是:
 

$config=array('urlrewrite'=>'1');

这里的urlrewrite的值实际上是字符值,而不是数字。
一般情况下是不会出问题的。但是如果用===来判断就出问题了,
 

if($config['urlrewrite']===1)

这一句左边是字符值,右边却是数字,显然结果为false 。
解决方法,使用:
 

复制代码 代码示例:
if($config['urlrewrite']==1)
或 
if($config['urlrewrite']==='1')
来判断。

说明: 
$a == $b;// Equal TRUE if $a is equal to $b.
$a === $b;// Identical TRUE if $a is equal to $b, and they are of the same type. (introduced in PHP 4)

意思为:
==是不判断二者是否是同一数据类型,而===是更为严格的比较,它不但要求二者值相等,而且还要求它们的数据类型也相同。