PHP箭头/方法调用运算符(";->;)优先级

PHP箭头/方法调用运算符(";->;)优先级,php,operator-precedence,Php,Operator Precedence,我希望有一个参考资料清楚地说明PHP的箭头/方法调用操作符(->)在操作符绑定顺序方面的位置 不幸的是,on运算符优先级没有列出它 例如,有人可能怀疑这是否会引发异常,因为$price首先被强制转换为string,然后才尝试方法调用->times(): return (string) $price->times($quantity); 在回答中,请指出PHP版本之间是否有任何变化 奖励:静态调用(:)运算符是否与->具有相同的优先级?$foo->bar(…)被归类为成员调用表达式 这是可

我希望有一个参考资料清楚地说明PHP的箭头/方法调用操作符(
->
)在操作符绑定顺序方面的位置

不幸的是,on运算符优先级没有列出它

例如,有人可能怀疑这是否会引发异常,因为
$price
首先被强制转换为
string
,然后才尝试方法调用
->times()

return (string) $price->times($quantity);
在回答中,请指出PHP版本之间是否有任何变化

奖励:静态调用(
)运算符是否与
->
具有相同的优先级?

$foo->bar(…)
被归类为成员调用表达式

这是可调用变量的一种形式,它本身就是变量的一种形式。本质上,对对象上的成员函数的调用与任何其他“原始”变量具有相同的优先级-
$foo->bar(…)
,编译器应该以相同的方式处理它。两者都不是“操作员”,因此它们与您链接的手册页面中列出的层次结构不同

对于您的额外问题,
被归类为一个作用域调用表达式,它具有相同的“优先级”