Оператор косвенного обращения к объекту (->
) отсутствует в Таблица приоритетов операторов PHP на официальной странице документации. Комментарий внизу страницы говорит, что приоритет такого оператора должен быть самым высоким. Однако следующий код показывает, что это не так, а комментарий неверен:
class Foo {
public $i;
function __construct() { $this->i = 0; }
}
$foo = new Foo();
++$foo->i;
echo $foo->i;
ВЫХОД:
1
Итак, какова точная позиция оператора косвенности объекта (->
) в вышеупомянутой таблице приоритетов операторов PHP?
->
приоритет оператора выше чем ++
, но ниже чем new/clone
Через мой тест это выше, чем [(array operator)
в кли и ниже, чем [
в Apatch httpd сервере, так что я думаю, что это ошибка.
Других решений пока нет …