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从函数返回中访问数组值的主要内容,如果未能解决你的问题,请参考以下文章

使用php从多维数组中获取子数组

PHP中怎么从一个二维数组中随机取出一个值?

如何访问函数返回数组的元素?

php 怎样从一个数组中取出所有元素

PHP之数组函数

PHP - 如何设置数组的每个索引的默认值[关闭]