首页 > Web开发 > 详细

PHP常用运算符优先级表

时间:2017-09-06 09:36:31      阅读:318      评论:0      收藏:0      [点我收藏+]

结合方向

运算符

描述

说明

无

clone new

clone 和 new

  

  

其他

[ ]

其他

  

  

右

++ 、 -- 、 () 、 ~、 int 、

float 、 string 、array、object、bool、 @

类型和递增、递减、错误抑制

  

右

!

逻辑运算符

  

  

左

  • / %

算术运算符

  

  

左

+ - .

算术运算符和字符串运算符

  

  

左

<< 左移 >> 右移

位运算符

  

  

无

== != === !== < > A <>B 不等运算符有两种写法

比较运算符

  

  

左

&

按位与

位运算符和引用

  

  

左

^

按位异或

位运算符

  

  

左

|

按位或

位运算符

  

  

左

&&

逻辑与

逻辑运算符

  

  

左

||

逻辑或

逻辑运算符

  

  

左

? :

三元运算符

  

右

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

赋值运算符

  

  

左

and

(按位与)

逻辑运算符(与)

$a & $b

将把 $a 和 $b 中都为 1 的位设为 1。

左

xor

(按位异或)

逻辑运算符(异或)

  

  

左

or (按位或)

逻辑运算符(或)

  

  

左

,

  

  

   

   

   

运算符分类:三大类

   

   

单目运算符

   

++、--、!、~位运算(按位非)

   

   

双目运算符

   

+、 -、 *、 /、 %、 >、 <、 ==、

   

   

   

三目运算符

? :

   

   

   

   

   

   

容易混淆的运算符口诀:

   

先乘除后加减,比较逻辑跟着算,非子来了最优先!

   

也就是优先级:!(非) > 数学类 > 比较类 > 逻辑类

   

运算符考虑思想:

   

1、优先级,2、结合方向 3、特例 4、BUG 5、不同类型运算间的转换

   

未明确优先级别的运算符:

   

类型检查 instanceof 示例: objA instanceof A

   

   

其他说明:

运算符与操作数的各种结合情况异常复杂,特殊的案例结果不可预知,无法完全记忆。为了避免特性及BUG

   

的发生,书写时要求逻辑清晰,操作数配合运算符要尽量有意义。

   

   

以下的特性或bug注意避免其出现就行,以下是示意代码

<?php

$a =1 ;

$b = $a + $a +$a=2;

//4=1+1+2

// 结果$b是多少?

?>

   

   

特例中的编程思想:

在一个有歧义或多种可能运算中,优先按正常顺序尝试进行,如果不行再改变方案。

   

<?php

$a =1 ;

$b = &$a;

$c = ++ $a + $a ++;

// 结果$c是多少?

?>

PHP常用运算符优先级表

原文:http://www.cnblogs.com/lison-note/p/7482696.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!