-1

有没有办法直接从函数调用访问从 PHP 中的函数返回的数组的特定元素?假设我有一个调用函数getMostRecentPost(),它返回一个数组。我希望能够做这样的事情:

echo getMostRecentPost()['title'];

那是行不通的。不过,其他语言似乎允许这种语法。现在我的解决方案是这样做:

$mostRecentPost = getMostRecentPost();
echo $mostRecentPost['title'];

是否有任何快捷方式可以让我取消声明变量?我的语法错了吗?

4

3 回答 3

1

这在 PHP 5.4 中是可能的,引用

从 PHP 5.4 开始,可以直接对函数或方法调用的结果进行数组取消引用。以前只能使用临时变量。

来自 php.net 的示例:

function getArray() {
    return array(1, 2, 3);
}

// on PHP 5.4
$secondElement = getArray()[1];

更多信息:

于 2012-05-30T19:09:55.110 回答
0

不,但你可以用对象来做。如果 getMostRecentPost() 返回一个你可以去的对象

echo getMostRecentPost()->title;
于 2012-05-30T19:09:39.723 回答
0

这是 php 5.4 中的一个新特性

function arr(){return [5];}
echo arr()[0];

http://codepad.viper-7.com/z6xPrL

于 2012-05-30T19:14:44.137 回答