分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

PHP中一些易混运算符的比较

发布时间:2023-09-06 02:20责任编辑:苏小强关键词:PHP运算符
#0x00 PHP中 =====的区别

===比较两个变量的类型
==只比较他们的值

e.g ???
比如整数0和浮点数0.0 ??
用==比较返回TRUE ??
用===比较返回FLASE
###用代码测试

<?php $str = "0dff";if (0 == $str) { ???echo "true";}else{ ???echo "false";}?>

上面的这个程序的输出结果是true,也就是说在编译中程序默认0和0dff是相等的。
这是因为在执行关系运算”==“时要求运算符两边的数据类型必须一致,所以等号右边的字符串被强制转换为了整型0。这也是一系列弱类型语言的一个缺点。

#在php中提供了“===”来解决这个问题<?php $str = "0dff";if (0 === $str) { ???echo "true";}else{ ???echo "false";}

这个程序的输出是false
全等于操作过程如下:
1.判断全等于操作符2边的数据类型是否相同 如果不相同,则返回false
2.判断全等于操作符2边的值是否相等,如果 不相等,则返回false
3.最后将上面2步的操作进行与操作。返回与操作的结果

#0x01 ?PHP中 单引号 ‘ ‘双引号 " "的区别

双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。

<?php$parker = 2; echo "parker is $parker"; ?// parker is 2 echo ‘parker is $parker‘; ??// ?parker is $parkerecho "parker is $parker\n"; // parker is 2 (同时换行) echo ‘parker is $parker\n‘; // ?parker is $parker\n ?&gt; 

在单引号串中甚至反斜杠也失去了他的扩展含义(除了插入反斜杠\和插入单引号\‘)。
所以,当在字串中进行变量代换和包含\n(换行符)等转义序列时,应该使用双引号。
单引号串可以用在其他任何地方,脚本中使用单引号串处理速度会更快些。

#0x02 ?PHP中 or||的区别
很多人认为PHP中 or 和 ?|| 是可以划等号的,一开始我也是这么认为的,但是其实不是,它们还是存在一个优先级的差别。下面通过一个例子说明它们的差异

<?php$a = false || true;$b = false or true;var_dump($a);//trueecho ‘<br />‘;var_dump($b);//false?>

执行后,$a为true,而$b为false。这是因为||的优先级大于 =,先执行 false || true,然后将执行后的结果true赋值给$a。而or的优先级小于=,先将false赋值给$b,因此$b就为false

PHP中一些易混运算符的比较

原文地址:http://blog.51cto.com/11834557/2309883

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved