我有一个对象,其中有几个匿名对象,我需要解析这些对象。为了解决这个问题,在遍历数组时,我必须在不同的点多次转换到数组。在我在windows机器中运行PHP7的localhost环境中,我遍历了对象,然后在需要时将其抛出到数组中,并调用了我知道的变量的索引,然后再次抛出一个数组,所有这些都在一行中。
$item = ((array)((array)$items[$x])['row'][0]);
这种方法导致PHPStorm将其标记为错误,但在浏览器中工作得很好。然而,有一次,我把这段代码带到了我的活动环境中,即在Amazon环境下运行PHP版本5.3.29。我得到了:
服务器当前无法处理此请求。HTTP错误500
但是,一旦我通过将转换拆分成不同的行来更改代码,它就可以正常工作了。
$item = (array)$items[$x];
$item = (array)$item['row'][0];
,我的问题是:为什么第一个方法可以在本地主机环境上工作,但是一旦被带到活动环境中就会崩溃呢?我搜索了发布的PHP7注释,因为我认为它可能是一个较新的特性,因为PHPStorm将它标记为错误,但是找不到任何解决这个问题的方法。
另外,我还在本地主机中启用了以下扩展:
发布于 2016-06-21 16:55:32
正如Mark提到的,将PHP升级到5.4将允许您使用单行示例:
$item = ((array)((array)$items[$x])['row'][0]);
https://stackoverflow.com/questions/37679231
复制相似问题