2011-07-04 2 views
0

가능한 중복 배열 결과에 액세스하려면 다음 PHP 함수가 배열을 반환하는 경우
PHP syntax for dereferencing function result대안은 PHP에서 함수에서

을 다음 구문이 작동하지 않습니다 :

$firstValue = $object->methodThatReturnsArray()[0]; // syntax error, unexpected '[' 

그러나 이것은 정상적으로 작동합니다.

$temporaryArray = $object->methodThatReturnsArray(); 
$firstValue = $temporaryArray[0]; // temporary will never be reused 

이 문제를 해결하거나 권장되는 접근 방법으로 변수를 만드는 가장 좋은 구문은 무엇입니까?

+0

-1 이것은 여러 번 여러 번 묻습니다. 만약 당신이 키 '0'을 원한다면'list ($ firstValue) = $ object-> methodThatReturnsArray();'를 사용할 수 있습니다. – Artefacto

+0

@Artefacto : 알았어, 미안해 - 찾기가 쉽지 않아. – tucuxi

+0

http://tackoverflow.com/questions/1459377/access-array-returned-by-a-function-in-php/1459393#1459393 –

답변

2

변수가 가장 좋습니다.

여전히 PHP 5.4는 첫 번째 언급 된 구문을 사용할 수있는 기능을 추가합니다.

+0

의심됩니다 5.4 할 것입니다 – dynamic

+0

http://www.php.net/archive/2011.php#id2011-06-28-1 "Array dereferencing support"라는 제목의 변경 사항을 참조하십시오. 이 변경 사항에 대한 자세한 내용은 http://schlueters.de/blog/archives/138-Features-in-PHP-trunk-Array-dereferencing.html을 참조하십시오. – Gedrox

+0

@ yes123 http://www.php.net/releases/NEWS_5_4_0_alpha1.txt - 일반적인 개선 사항 : 어레이 역 참조 지원을 추가했습니다. – Yoshi

0

글쎄, = (list($firstValue) = $object->methodThatReturnsArray();)의 왼쪽에 list을 가질 수 있습니다. 배열에 너무 깊은 것이 필요한 경우 임시 변수가 유일한 옵션입니다.

관련 문제