PHP箭头/方法调用运算符(";->;)优先级
我希望有一个参考资料清楚地说明PHP的箭头/方法调用操作符(PHP箭头/方法调用运算符(";->;)优先级,php,operator-precedence,Php,Operator Precedence,我希望有一个参考资料清楚地说明PHP的箭头/方法调用操作符(->)在操作符绑定顺序方面的位置 不幸的是,on运算符优先级没有列出它 例如,有人可能怀疑这是否会引发异常,因为$price首先被强制转换为string,然后才尝试方法调用->times(): return (string) $price->times($quantity); 在回答中,请指出PHP版本之间是否有任何变化 奖励:静态调用(:)运算符是否与->具有相同的优先级?$foo->bar(…)被归类为成员调用表达式 这是可
->
)在操作符绑定顺序方面的位置
不幸的是,on运算符优先级没有列出它
例如,有人可能怀疑这是否会引发异常,因为$price
首先被强制转换为string
,然后才尝试方法调用->times()
:
return (string) $price->times($quantity);
在回答中,请指出PHP版本之间是否有任何变化
奖励:静态调用(:
)运算符是否与->
具有相同的优先级?$foo->bar(…)
被归类为成员调用表达式
这是可调用变量的一种形式,它本身就是变量的一种形式。本质上,对对象上的成员函数的调用与任何其他“原始”变量具有相同的优先级-$foo->bar(…)
,编译器应该以相同的方式处理它。两者都不是“操作员”,因此它们与您链接的手册页面中列出的层次结构不同
对于您的额外问题,:
被归类为一个作用域调用表达式,它具有相同的“优先级”