php中(等于和全等于)== 和 === 的区别和应用
发布:smiling 来源: PHP粉丝网 添加日期:2014-02-24 13:53:58 浏览: 评论:0
在php中等于和全等于在表达试上== 和 ===了,从简单层面来说就是一个简单等于,一个是精确定很高,下面我来给各位同学介绍== 和 === 的区别和应用,各位同学可参考.
在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'}
实例代码如下:
- if('4′!=4){echo 'ok'}
这个就不会输出ok,因为他转化后相等,判断不成立,但是如果是
实例代码如下:
- if('4′!==4){echo 'ok'};
这个就会输出ok,判断成立,因为在恒等面前,有单引号的4和没有单引号的4并不是同一个4,一个是数字,一个是个字符.所以这样看来他们的对比就很简单了.他们有什么实际应用呢,就是一些比较特殊的时候会用到.比如下面:
实例代码如下:
- if(strpos('abc','a')!=false){echo 'ok'};
一段代码来看,实例代码如下:
- $a = 0;
- $b = false;
- if($a == $b){
- echo "等于";
- }
- if($a != $b){
- echo "不等于";
- }
- ?>
我们知道数值0也是代表假的.所以这个结果会输出"等于".如果我们把程序改下,用全等于的呢
实例代码如下:
- $a = 0;
- $b = false;
- if($a === $b){ //改成全等于
- echo "等于";
- }
- if($a !== $b){
- echo "不等于";
- }
- ?>
这时候我们突然发现他会输出"不等于".这是为什么呢.
因为:等号只判断它们左右两边的最终结果值,而不判断数据类型.而全等于首先判断等号两边的数据类型是否一致.接着还要判断两边的最终结果值是否一致.如果都一致才会返回true呢.所以在例子中换成全等于他会判断两边的数据类型,$a 是数值型.而$b是布尔型,所以他会返回假值.==' 和 '!=='也是同样的原理.
Tags: PHP中== 和 === 的区别和应用
- 上一篇:PHP文件上传一些小收获
- 下一篇:php中引用(变量和函数名前加&符号)用法
相关文章
- ·php4和php5区别(2013-11-13)
- ·php和js交互一例(2013-12-08)
- ·PHP1到100求和各种实例程序(2014-02-22)
- ·php类和对象之公共属性与私有属性(2014-03-06)
- ·php中===和==的区别分析(2014-03-31)
- ·php mysql 求和语句(2014-09-12)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)