php中 == 和 === 的区别和应用说明
我们知道这两个符合是用来比较的,一般用于if判断语句当中,==我们经常使用,===我们叫做恒等于,但是很多人并不知道为什么要有这样一个符合,他到底是做什么用的。下面我通过一些实例和我的使用经验,就简单说一下他们的区别和使用。
我们都应该知道,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'};
这个判断经常用到,这个strpos是获取一个字符,在另一个字符首次出现的位置,可以用来判断,一个字符串中是否有指定的字符,当然还有其他的函数可以达到这个目的,但是相对来说这个比较高效,但是这里有个矛盾,如果你用!=并不能像我们想象中那么好用,因为,比如就这个例子而言,他在第一个字符就出现了,那么他返回的他的位置为0,我们知道数组和位置都是从0开始的,但是如果用!=判断,0就会转化为false,那么这个判断就不成立了,那么我们要的结果就不准确了,因为这个字符明明有,我们的判断却是没有,并且我们这里只能和ture或者false做判断,所以这里我们就可以使用!==了,这样就避免了这个漏洞,所以,任何符号和函数的出现都有他存在的道理,都有他特点的生成环境,我们必须全面的了解我们使用的语言,全面的考虑极端情况,才能尽量的避免程序的漏洞,要将用户想象成黑客。不能想当然就觉得写的很安全了,实际上,在不知不觉中,就留下了很多的漏洞,
-
无相关信息
- 宝塔面板FTP链接服务器发回了不可路由地址
- 阿里云ecs安装宝塔面板失败原因?以及安装步骤?
- 织梦手机端-识别跳转
- html如何在一个form表单中实现多个submit
- thinkphp无限分类原理和实现代码
- thinkphp6 请求(request)变量
- 帝国CMS自定义列表SQL调用方法
- 帝国CMS自定义列表的使用实例
- 帝国cms自定义列表限制某个栏目显示
- PHP中利用for循环判断一个数是不是回文数
- PHP中判断一个数是否为素数的方法
- PHP中break,continue,exit的使用与区别
- 测试PHP连接MYSQL成功与否的代码
- PHP编程求最大公约数与最小公倍数的方法示例
- PHP获取数组中单列值的方法
- PHP使用一个for循环将N*N的二维数组的所有值置1实现方法
- HTML5+css3:3D旋转木马效果相册
- HTML,CSS,font-family:中文字体和英文名称对照表
- HTML使用栅格布局实现六种筛子样式的代码详解
- 修改CSS样式实现网页变灰色/黑白代码的几个方法整理
- 黄庭坚《水调歌头·游览》我欲穿花寻路 直入白云深处
- 黄庭坚《品令·茶词》恰如灯下 故人万里 归来对影
- 杜荀鹤《溪兴》山雨溪风卷钓丝 瓦瓯篷底独斟时
- 储光羲《张谷田舍》一径入寒竹 小桥穿野花
- 赵嘏《寒塘》晓发梳临水 寒塘坐见秋
- 蔡确《夏日登车盖亭》纸屏石枕竹方床 手倦抛书午梦长
- 李峤《书》河图八卦出 洛范九畴初
- 刘长卿《饯别王十一南游》长江一帆远 落日五湖春
- 韦庄《章台夜思》芳草已云暮 故人殊未来
- 卢纶《宿澄上人院》竹窗闻远水 月出似溪中
- 孟浩然《留别王侍御维》只应守寂寞 还掩故园扉
- 苏轼《南乡子·送述古》归路晚风清 一枕初寒梦不成
- 王维《木兰柴》秋山敛馀照 飞鸟逐前侣
- 王维《栾家濑》跳波自相溅 白鹭惊复下
- 苏轼《少年游·润州作代人寄远》对酒卷帘邀明月 风露透窗纱
- 苏轼《行香子·过七里濑》一叶舟轻 双桨鸿惊 水天清 影湛波平
- 王维《汉江临泛》江流天地外 山色有无中
- 柳宗元《溪居》晓耕翻露草 夜榜响溪石
- 杜牧《赠宣州元处士》蓬蒿三亩居 宽于一天下
- 项鸿祚《清平乐·池上纳凉》水天清话 院静人销夏