开发者学堂课程【PHP 基础入门课程(上) :优先运算符】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/709/detail/12609
优先运算符
内容介绍:
一、概念
二、示例
三、小结
了解运算符的优先级,懂得使用门来提升复杂运算的优先级别
一、概念
运算符优先级:多种运算符结合一起运算时,系统会根据不同的优先级进行优先运算,从而导致运算结果不可预知。
(下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。)
结合方向 |
运算符 |
附加信息 |
非结合 |
new |
new |
左 |
[ |
array() |
非结合 |
++ -- |
递增/递减运算符 |
非结合 |
!~-(int)(float)(string)(array)(object)@ |
类型 |
左 |
* / % |
算数运算符 |
左 |
+ - . |
算术运算符和字符串运算符 |
左 |
<< >> |
位运算符 |
非结合 |
< <= > >= |
比较运算符 |
非结合 |
== != == !== |
比较运算符 |
左 |
& |
位运算符和引用 |
左 |
^ |
位运算符 |
左 |
| |
位运算符 |
左 |
&& |
逻辑运算符 |
左 |
|| |
逻辑运算符 |
左 |
? : |
三元运算符 |
右 |
=+=-=*=/=.=%=&=|=^=<<=>>= |
赋值运算符 |
左 |
and |
逻辑运算符 |
左 |
xor |
逻辑运算符 |
左 |
or |
逻辑运算符 |
左 |
, |
多处用到 |
图中,从上到下依次优先级降低(部分运算符设讲,略过)
二、示例
在不确定表达式中优先极顺序的时候,使用()来保证对应的运算不会被其他优先级高的所拆分。
$a =10 + 5 * 2/ 10 % 3;
#11,因后续运算符都比+号高
$a =(10 + 5) * 2 / 10 % 3;
#0
三、小结
1、运算符优先级是系统提供的一种结合模式,优先级高的先结合,级别低的后结合
2、为了保障目标运算不被其他优先级高的影响,可以通过()来实现包裹