我有一个对象,其中有几个无名对象需要解析。为了解决这个问题,我必须在遍历它时在不同的点上多次转换为数组。在我的localhost环境中,在Windows机器上运行PHP7,我遍历了对象,然后在需要时将其转换为数组,并调出我知道的变量索引然后再次转换为数组,所有这些都在一行中。
$item = ((array)((array)$items[$x])['row'][0]);
这种方法导致PHPStorm将其标记为错误,但在浏览器中运行良好。但是,一旦我将此代码带到我在Amazon Linux环境中运行PHP版本5.3.29的实时环境中。我得到了:
[server]目前无法处理此请求。 HTTP ERROR 500
但是,一旦我通过将转换分成不同的行来更改代码,它就可以正常工作。
$item = (array)$items[$x];
$item = (array)$item['row'][0];
我的问题是:为什么第一种方法在我的localhost环境中起作用,但是一旦进入实时环境就会崩溃页面?我搜索了PHP7发布的笔记,因为虽然它可能是一个较新的功能,因为PHPStorm将其标记为错误,但找不到任何解决此问题的内容。
作为附注,我还在我的localhost中启用了以下扩展名:
答案 0 :(得分:1)
如Mark所述,将PHP升级到5.4将允许您使用单行示例:
* Server GSE is not blacklisted