Интерпретация возвращаемого значения функции непосредственно в виде массива

Есть ли способ в PHP интерпретировать возвращаемое значение функции непосредственно как массив?

скажем, у меня есть функция:

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

вместо написания:

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

Я хочу получить доступ к «бару» прямо так, как:

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

То, что вы хотите, называется разыменованием массивов и будет поддерживаться только с PHP 5.4 (что является будущей версией PHP).

Теперь вы можете использовать конструкцию языка list :

 list(, $var) = getArray(); 

Если вам нужно значение, чтобы передать его какой-либо другой функции, вы все равно можете взломать ограничение ( это просто для справки, а не то, что вы должны использовать ):

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