【问题标题】:Access array element that's returned from a function right from the function call直接从函数调用访问从函数返回的数组元素
【发布时间】:2012-06-05 01:33:24
【问题描述】:

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

echo getMostRecentPost()['title'];

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

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

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

【问题讨论】:

标签: php arrays function


【解决方案1】:

在 PHP 5.4 中可能quoting:

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

来自 php.net 的示例:

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

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

更多信息:

【讨论】:

    【解决方案2】:

    这是 php 5.4 中的新功能

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

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

    【讨论】:

      【解决方案3】:

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

      echo getMostRecentPost()->title;
      

      【讨论】:

      • 嗯...我想我可以重构并更改我的代码以使用类来代替
      猜你喜欢
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 2020-04-10
      • 2011-08-07
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2018-12-09
      相关资源
      最近更新 更多