2014-07-23 4 views
0

배열을 반환하는 함수가있는 경우 함수 호출에서 직접 키에 액세스 할 수 있습니까?반환 값에서 배열 키 액세스

예 :

function foo() { 
    return array('a' => 1); 
} 

foo()['a']; //no good 
+1

php 5.4부터이'foo() [1]'이 유효한 구문입니다. 그런데 드림위버와 같은 ide는 그것을 그렇게 인식하지 못하고 커다란 빨간 선을 던질 것입니다. 하지만 확실히 가능합니다. –

답변

1

당신은 직접 버전 < 5.4에서 그런 식으로 할 수 없습니다. 당신은 foo() 곳의 반환 값을 저장할 필요가 : PHP 5.4까지에서

function foo() { 
    return array('a' => 1); 
} 

$bar = foo(); 

echo $bar['a']; 

, 당신의 코드가 작동합니다. Demo. 당신은 실제로 반환 값을 얻을 수있는 함수를 호출해야

$bar = foo(); 
$bar['a']; 

- 당신이에서 배열 값을 얻기 위해 노력하고있다이 경우에는이 같은 -

+1

@ FélixGagnon-Grenier 5.4 부분을 상기시켜 주셔서 감사합니다. 나는 어딘가에서 변화를 상기했지만, 언제 그랬는지 잊어 버렸다. :) –

+0

meh, 그것에 대해 생각하고, 내 반응은 아주 유치했다, 당신은이 자격이 :) –

+0

@ FélixGagnon-Grenier 걱정과 감사합니다. :) –

0

는 먼저 함수를 변수에 할당해야 배열이 아닌 무언가.

참고 : 5.4 이전의 PHP 버전에만 해당됩니다.

관련 문제