") 优先级-6ren"> ") 优先级-我想要一个引用,清楚地说明 PHP 的箭头/方法调用运算符 (->) 在运算符绑定(bind)顺序方面的位置。 不幸的是,authoritative PHP manual page关于运算符优先级没有-6ren">
gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 02:36:31 28 4
gpt4 key购买 nike

我想要一个引用,清楚地说明 PHP 的箭头/方法调用运算符 (->) 在运算符绑定(bind)顺序方面的位置。

不幸的是,authoritative PHP manual page关于运算符优先级没有列出。

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

return (string) $price->times($quantity);

在回答中,请注明 PHP 版本之间是否有任何变化。

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

最佳答案

$foo->bar(...) 属于 PHP's grammar作为成员调用表达式

这是 callable-variable 的一种形式,它本身就是 variable 的一种形式。本质上,对对象成员函数的调用与任何其他“原始”变量具有相同的优先级 - $foo->bar(...) 而只是 $foo 应该被编译器同等对待。两者都不是“运算符(operator)”,因此它们不属于与您链接的手册页中列出的层次结构相同的层次结构。

对于您的奖励问题,:: 被归类为 scoped-call-expression,它具有相同的“优先级”。

关于PHP 箭头/方法调用运算符 ("->") 优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61610026/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com