PHP对象间接运算符的运算符优先级(->;)


Operator precedence of PHP object indirection operator (->)

官方文档页面上的PHP运算符优先级表中缺少对象间接运算符(->)。页面底部的一条评论说,这种运算符的优先级必须是最高的。然而,以下代码表明这不是真的,并且注释是错误的:

class Foo {
  public $i;
  function __construct() { $this->i = 0; }
}
$foo = new Foo();
++$foo->i;
echo $foo->i;

输出:

1

那么,在前面提到的PHP运算符优先级表中,对象间接运算符(->)的确切位置是什么?

->运算符优先级高于++,但低于new/clone。通过我的测试,它在cli中高于[(array operator),在Apatch httpd服务器中低于[,所以我认为这是一个错误。