PHP运算符优先级

4 篇文章 0 订阅

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

表格 运算符优先级 

结合方向

运算符

附加信息

非结合

new

new

[

array()

非结合

++ –

递增/递减运算符

非结合

! ~ - (int) (float) (string) (array) (object) @

类型

* / %

算数运算符

+ - .

算数运算符和字符串运算符

<< >>

位运算符

非结合

< <= > >=

比较运算符

非结合

== != === !==

比较运算符

&

位运算符和引用

^

位运算符

|

位运算符

&&

逻辑运算符

||

逻辑运算符

? :

三元运算符

= += -= *= /= .= %= &= |= ^= <<= >>=

赋值运算符

and

逻辑运算符

xor

逻辑运算符

or

逻辑运算符

,

多处用到

左联表示表达式从左向右求值,右联相反。

注: 尽管 ! 比 = 的优先级高,php 仍旧允许类似如下的表达式if (!$a = foo()),在此例中 foo() 的输出被赋给了 $a。


忽视PHP运算符优先级,有时候会浪费很多不必要的时间去处理,下面就以我遇到的几个优先级问题举例说明:

我们常用的几个运算符优先级从低到高:=、||、&&、==   !=、>  <、+  -  .、* / %、!  -  (int) (float) (string) (array) (object) @、++   ---、new

虽然等于的优先级低于&&,但是这样的操作在PHP默认是可以的  $status && $id=123;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值