PHP 7 的数组到字符串转换异常


Array to string conversion exception with PHP 7

我正在使用旧的遗留代码,并检查它是否与PHP7一起运行。我收到以下代码的异常(Array to string conversion):

json_decode($json_string)
  ->$array['id']
  ->foo

有帮助的是使用大括号:

json_decode($json_string)
  ->{$array['id']}
  ->foo

我的问题是,PHP5 是否已经出错了,如果不是,哪个更改是原因?找不到任何东西,因为不知道要搜索什么...我的一个想法是新引入的 AST 会产生这种行为?

我认为你是对的。据我所知,PHP5 没有任何例外,但 PHP 7 希望更严格一点,因为像这样的情况在正确使用后可能会导致很多大问题。