Почему я должен присвоить возвращаемое значение функции переменной, прежде чем работать с ней в PHP - PullRequest
2 голосов
/ 21 ноября 2011

Если у меня есть такая функция:

function foo(){
 return array("hello" => "world");
}

Я не могу вызвать функцию и работать с возвращаемым значением, вот так

$test = foo()["hello"];

Вместо этого я должен разбить его на две строки, как это

$test = foo();
$test = $test["hello"];

Есть ли способ обойти это? Если нет, то почему PHP обеспечивает это. Кроме того, если это имеет какое-либо значение, foo() фактически возвращает двумерный массив.

Ответы [ 2 ]

5 голосов
/ 21 ноября 2011

В PHP нет привязки к массиву, запрашиваемая вами функциональность.

В PHP 5.4, следующей версии PHP, эта функция есть.

0 голосов
/ 21 ноября 2011

Я бы подумал:

$test = foo();

Устанавливает $test в качестве массива, все что вам нужно сделать, это использовать его сейчас:

echo $test["hello"] produces "world"
...