php从函数返回中访问数组值
Posted
技术标签:
【中文标题】php从函数返回中访问数组值【英文标题】:php access array value from function return 【发布时间】:2011-02-21 22:35:39 【问题描述】:愚蠢的php问题... 为什么我不能这样做?
echo Auth::getFullUser()[ 'country' ];
你必须这样做
$user = Auth::getFullUser();
echo $user[ 'country' ];
【问题讨论】:
我想你可以这样做:echo ( Auth::getFullUser() )[ 'country' ];
【参考方案1】:
不幸的是,语法不允许这样做。
AFAIK 曾一度打算将该语法放入 PHP6,但它has been dropped。
【讨论】:
非常感谢您解决这个问题,只是确保没有更好的方法。【参考方案2】:糟糕的语言/解释器设计。
同样的原因,你不能使用 "functionname"() 并且函数不区分大小写。
【讨论】:
一点也不差。如果您不喜欢该语言,还有大量其他语言供您选择。 是的,它并不差,我只是想省去写一个额外的变量......只是好奇。 不方便,可以这么说,你必须了解 Kendall Hopkins 也使用 PHP。我们不是仇恨者,只是诚实的 PHP 用户。 @Coronatus @David Morrow 我支持我的声明,即 PHP,无论是语言还是实现,都很糟糕。该语言没有正式的定义。语言是如何“定义”的,很大程度上源于 ZEND 实现以及 php.net 上的非正式和模棱两可的文档。几乎没有努力使语法更通用例如像 C、C++、Haskell、Python 这样的语言来处理这样的边缘情况。当你考虑到标准函数的命名和参数顺序中的许多不一致时,说PHP“一点也不差”,这完全是垃圾。【参考方案3】:PHP 语法只允许在变量表达式(即$user
)而不是表达式(即Auth::getFullUser()
)的末尾使用下标符号(即['country']
)
【讨论】:
以上是关于php从函数返回中访问数组值的主要内容,如果未能解决你的问题,请参考以下文章