什么是从返回中获取数组元素的正确方法

时间:2013-10-10 13:08:22

标签: php

我发现此代码有效:

private function getSomething() {
  return array('item' => 'one');
}

...

echo $this->getSomething()['item'];
  

输出:'one'

但我在手册中找不到这种写作形式。 Futhermore Netbeans告诉我它只适用于PHP 5.4及以上版本。也许我应该首先分配变量然后将其用作数组?

但是这段代码看起来好多了,而且它在一行......

最后我的问题是 - 我可以使用这个表格吗?

2 个答案:

答案 0 :(得分:1)

在PHP 5.3之前,您需要使用临时变量。

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

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

// previously
$tmp = getArray();
$secondElement = $tmp[1];

// or
list(, $secondElement) = getArray();

来源: http://php.net/manual/en/language.types.array.php#example-88

答案 1 :(得分:1)

这取决于你是否知道正在使用哪个版本的PHP。

如果必须在多个版本的PHP上运行

你应该先把它分配给变量

$tmp = $this->getSomething();
echo $tmp[0];
相关问题