PHP运算符优先级一览表

在一个表达式中,往往会使用多个不同的运算符,当多个不同的运算符同时出现在同一个表达式中时,就必须遵循一定的运算顺序进行运算,这就是运算符的优先级。与数学中的四则运算遵循的“先乘除,后加减”是一个道理。

创新互联拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕十载,专业且经验丰富。十载网站优化营销经验,我们已为上1000家中小企业提供了网站制作、网站建设解决方案,定制制作,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!

php 的运算符在运算中遵循的规则是:优先级高的运算先执行,优先级低的运算后执行,同一优先级的运算按照从左到右的顺序执行。当然也可以像四则运算那样使用小括号,括号内的运算最先执行。

下表按照优先级从高到低的顺序列出了 PHP 中的运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定其运算顺序。

优先级 结合方向 运算符 附加信息
1 无结合 clone、new clone 和 new
2 从右向左 ** 算术运算符
3 从右向左 ++、--、~、(int)、(float)、(string)、(array)、(object)、(bool)、@ 类型、递增/递减、错误控制
4 无结合 instanceof 类型
5 从右向左 ! 逻辑运算符
6 从左向右 *、/、% 算术运算符
7 从左向右 +、-、. 算术运算符和字符串运算符
8 从左向右 <<、>> 位运算符
9 无结合 <、<=、>、>= 比较运算符
10 无结合 ==、!=、===、!==、<>、<=> 比较运算符
11 从左向右 & 位运算符和引用
12 从左向右 ^ 位运算符
13 从左向右 | 位运算符
14 从左向右 && 逻辑运算符
15 从左向右 || 逻辑运算符
16 从右向左 ?? null 合并运算符
17 从左向右 ? : 三元运算符
18 从右向左 =、+=、-=、*=、**=、/=、.=、%=、&=、|=、^=、<<=、>>= 赋值运算符
19 从左向右 and 逻辑运算符
20 从左向右 xor 逻辑运算符
21 从左向右 or 逻辑运算符

对具有相同优先级的运算符来说,从左向右的结合方向意味着将从左向右求值,从右向左结合方向则反之。对于无结合方向的则具有相同优先级的运算符,该运算符有可能无法与其自身结合。例如在 PHP 中
1 < 2 > 1 是一个非法语句,而
1 <= 1 == 1 则不是,因为
<=
== 优先级高。

示例代码如下:

 $a = 5, $b = 5
    echo ++$a + $a++;
?>

运行结果如下,在查看运行结果之前,大家可以自行计算一下,最后会输出什么?

12

在我们熟悉了 PHP 运算优先级的前提下,最好在书写运算符的时候,以小括号来标记优先级,这样可以使我们的代码可读性更强,也是一个良好的编程习惯。

网站题目:PHP运算符优先级一览表
链接分享:http://www.shufengxianlan.com/qtweb/news24/492274.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联