我正在使用旧的遗留代码,并检查它是否与PHP7一起运行。我收到以下代码的异常(Array to string conversion
):
json_decode($json_string)
->$array['id']
->foo
有帮助的是使用大括号:
json_decode($json_string)
->{$array['id']}
->foo
我的问题是,PHP5 是否已经出错了,如果不是,哪个更改是原因?找不到任何东西,因为不知道要搜索什么...我的一个想法是新引入的 AST 会产生这种行为?
我认为你是对的。据我所知,PHP5 没有任何例外,但 PHP 7 希望更严格一点,因为像这样的情况在正确使用后可能会导致很多大问题。