0

我发现这段代码有效:

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

...

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

输出:“一”

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

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

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

4

2 回答 2

1

Prior to PHP 5.3, you'll need to use a temporary variable.

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

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

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

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

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

于 2013-10-10T13:10:11.433 回答
1

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

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

你应该先把它分配给一个变量

$tmp = $this->getSomething();
echo $tmp[0];
于 2013-10-10T13:14:47.130 回答