PHP运算符的优先级是怎样的?底层原理是什么?
指导
2023-03-11 09:43:50阅读人数:2746

PHP 中的运算符具有不同的优先级,运算符优先级决定了表达式中各个运算符执行的顺序。如果表达式中有多个运算符,PHP 会按照优先级从高到低的顺序依次执行这些运算符,直到得到最终的结果。如果不确定优先级,可以使用圆括号来改变运算顺序。

以下是 PHP 中常见的运算符优先级,从高到低排列:

  1. clone、new

  2. !、-、+、~、(int)、(float)、(string)、(array)、(object)、(bool)

  3. **(指数)

  4. *、/、%(乘、除、取模)

  5. +、-(加、减)

  6. <<、>>(位移)

  7. <、<=、>、>=、instanceof(比较)

  8. ==、!=、===、!==(相等性)

  9. &(按位与)

  10. ^(按位异或)

  11. |(按位或)

  12. &&(逻辑与)

  13. ||(逻辑或)

  14. ?:(三元运算符)

  15. =、+=、-=、*=、/=、.=、%=、&=、|=、^=、<<=、>>=(赋值)

以上是 PHP 中常见的运算符优先级,其中优先级越高的运算符越先执行。PHP 也提供了一些其他运算符,它们的优先级与上面的运算符类似。

底层原理方面,PHP 的解释器会先将表达式转换成中间代码,然后根据运算符的优先级和结合性生成相应的汇编代码来执行运算。运算符的优先级和结合性是在编译器中指定的,编译器会根据语法规则和运算符优先级表来确定运算符的优先级和结合性,并将其编译成相应的中间代码。当 PHP 解释器执行这些中间代码时,会按照相应的顺序执行各个运算符,从而得到最终的结果。


推荐阅读:
*【鬼谷子】鬼谷子·飞箝
*【战国策】西周·司寇布为周最谓周君
*【战国策】燕二·陈翠合齐燕
*【智囊】捷智部·太史慈
*【辽史】列传·卷三十四
*【自考】全国2005年1月高等教育自学考试外经贸经营与管理试题
*【自考】全国2002年10月高等教育自学考试办公自动化原理及应用试题
*【自考】自考政治经济学财试题_全国2004年7月自考试卷
*【本草纲目】草部·藿香
*【宋史】列传·卷二百二十四
*【太平广记】卷一百四十九·定数四
*【续资治通鉴】元纪·元纪四
*【镜花缘】第七十二回
*【大树理论】
*【内含价值增值】
*【房地产营销】
请输入昵称:

请输入评论内容: