【发布时间】:2017-06-18 05:46:40
【问题描述】:
我对解析错误有点困惑:
class Foo{
public function some_function(){}
}
($foo = new Foo())->some_function();
产量
PHP 解析错误:语法错误,意外 '->' (T_OBJECT_OPERATOR),需要 ',' 或 ';'
以下是 php-langspec 关于简单赋值表达式的说明:
结果的类型和值是存储(如果有的话[见下文])发生后左侧操作数的类型和值。结果不是左值。
现在据我了解,赋值结果应该等同于变量,除非它不是左值(不可能赋值)。那么为什么会出现错误呢?
我错过了什么吗?
编辑
php版本为5.5.9
这与链接方法无关,这是解析错误而不是运行时错误。
【问题讨论】:
-
你的编译器使用什么php版本?
-
php 版本丢失。
5.3我想? -
php版本为5.5.9
-
eval 显示即使在
php5.6上也会发生错误 -
该问题已在 PHP 7 中解决。
标签: php parsing syntax assignment-operator