首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PHP中以一行方式获取已转换对象的值

在PHP中以一行方式获取已转换对象的值
EN

Stack Overflow用户
提问于 2016-06-07 12:20:14
回答 1查看 71关注 0票数 0

我有一个对象,其中有几个匿名对象,我需要解析这些对象。为了解决这个问题,在遍历数组时,我必须在不同的点多次转换到数组。在我在windows机器中运行PHP7的localhost环境中,我遍历了对象,然后在需要时将其抛出到数组中,并调用了我知道的变量的索引,然后再次抛出一个数组,所有这些都在一行中。

代码语言:javascript
运行
复制
$item = ((array)((array)$items[$x])['row'][0]);

这种方法导致PHPStorm将其标记为错误,但在浏览器中工作得很好。然而,有一次,我把这段代码带到了我的活动环境中,即在Amazon环境下运行PHP版本5.3.29。我得到了:

服务器当前无法处理此请求。HTTP错误500

但是,一旦我通过将转换拆分成不同的行来更改代码,它就可以正常工作了。

代码语言:javascript
运行
复制
$item = (array)$items[$x];
$item = (array)$item['row'][0];

,我的问题是:为什么第一个方法可以在本地主机环境上工作,但是一旦被带到活动环境中就会崩溃呢?我搜索了发布的PHP7注释,因为我认为它可能是一个较新的特性,因为PHPStorm将它标记为错误,但是找不到任何解决这个问题的方法。

另外,我还在本地主机中启用了以下扩展:

  • extension=php_curl.dll
  • extension=php_mbstring.dll
  • extension=php_mysqli.dll
  • extension=php_openssl.dll
  • extension=php_pdo_mysql.dll
  • extension=php_pdo_sqlite.dll
  • extension=php_sqlite3.dll
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-21 16:55:32

正如Mark提到的,将PHP升级到5.4将允许您使用单行示例:

代码语言:javascript
运行
复制
$item = ((array)((array)$items[$x])['row'][0]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37679231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档