将函数的返回值直接解释为数组

时间:2011-04-25 17:56:49

标签: php

PHP中有没有办法直接将函数的返回值解释为数组?

让我说我有一个功能:

function getArray()  {
  return array("foo", "bar");
}

而不是写作:

$array = getArray();
$var = $array[1];

我想直接访问“bar”:

$var = getArray()[1]; //this causes an error

1 个答案:

答案 0 :(得分:11)

你想要的是数组解除引用,并且只有PHP 5.4(即将发布的PHP版本)才支持。

现在您可以使用list语言构造:

list(, $var) = getArray();

如果您需要将值传递给其他函数,您仍然可以解决限制(这仅供参考,而不是您应该使用的):

func(${'_'.!$_=getArray()}[1]); // using the $_ var
func(${!${''}=getArray()}[1]);  // using the $ var