在php中的符号等于'=='和全等于'==='的区别
从表面上看它们都是判断等号左右两把是否相等的功能,只是一个是两个等号,一个是三个等号。
我们都应该知道,php是一种弱类型的语句,他的变量、字符定义其实并不十分规范,比如 $a = '4′;我们可以说这个$a是一个字符,但是他又可以直接进行数字的加减乘除;而且我们还知道一句话,叫做,非零即真,那么这句好就是对于==这个符号来说的。比如我们说:
代码如下 | 复制代码 |
if(4!=false){echo 'ok'}, |
这个判断是成立的,他会输出ok;因为4不是零,那么就是真,真就不等于false,所以判断成立,就会输出ok,其实这里4在判断比较的时候,因为其对比对象的原因,所以这个4被转化为了布尔值ture,所以判断成立。当然如果这里用===也是成立的,比如你写
代码如下 | 复制代码 |
if(4!==false){echo 'ok'} |
他也会输出ok,因为4本来就不是false,他们不是同一个字符。但是两者有个很重要的区别,就是,==或!=是会因为比对的对象而转化字符类型的,而===或!==是强制他不进行转化而原样进行对比,比如下面一个例子:
代码如下 | 复制代码 |
if(0!=false){echo 'ok'} |
,这个就不会输出ok,因为0就是false,判断不成立,但是如果你写
代码如下 | 复制代码 |
if(0!==false){echo 'ok'}, |
这个判断就成立,会输出ok,因为0如果不转化,那他就不是false,0就是0;
甚至,
代码如下 | 复制代码 |
if('4′!=4){echo 'ok'} |
,这个就不会输出ok,因为他转化后相等,判断不成立,但是如果是
代码如下 | 复制代码 |
if('4′!==4){echo 'ok'}; |
这个就会输出ok,判断成立,因为在恒等面前,有单引号的4和没有单引号的4并不是同一个4,一个是数字,一个是个字符。所以这样看来他们的对比就很简单了。他们有什么实际应用呢,就是一些比较特殊的时候会用到。比如下面:
代码如下 | 复制代码 |
if(strpos('abc','a')!=false){echo 'ok'}; |
一段代码来看:
代码如下 | 复制代码 |
$a = 0; |
我们知道数值0也是代表假的。所以这个结果会输出"等于"。如果我们把程序改下,用全等于的呢
代码如下 | 复制代码 |
$a = 0; |
这时候我们突然发现他会输出"不等于"。这是为什么呢。
因为:等号只判断它们左右两边的最终结果值,而不判断数据类型。
而全等于首先判断等号两边的数据类型是否一致。接着还要判断两边的最终结果值是否一致。如果都一致才会返回true呢。所以在例子中换成全等于他会判断两边的数据类型,$a 是数值型。而$b是布尔型。所以他会返回假值。
==' 和 '!=='也是同样的原理
荒野乱斗国际版 (BrawlStars)最新版本v56.274
下载一波超人内置修改器菜单版 安卓版v1.0.2
下载敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载继承了一座戏园子无限声望铜钱版 内置菜单最新版v1.7
继承了一座戏园子折相思版是游戏的破解版本,在该版本中为玩家提
山河半世橙光清软金手指版 无限鲜花v3.24
山河半世是一款超级好玩的橙光恋爱游戏,在游戏中玩家们需要扮演
蓬莱手游折相思版 安卓版v1.0.0
蓬莱免广告版是游戏的修改版本,在该版本中为玩家去除了广告,玩
当红影后橙光游戏破解版2025 最新版v1.0
当红影后橙光破解版是一款超级好玩的娱乐圈题材的橙光游戏,在这
忽然成了万人迷清软完结版 无限鲜花版v12.15
忽然成了万人迷破解版是一款非常好玩的男性向橙光游戏,在有一天