2011-01-28 4 views

답변

6

PHP는, 이런 식으로 역 참조 배열을 지원하지 않습니다

$result = myFunction($parameters)[4]; 

일부 옵션, 어느 것도 특히 우아한 또는 읽을 수 :

list(,,,,$result) = myFunction($parameters); // ignore first 3 
$result = array_pop(array_slice(myFunction($parameters), 4, 1)); // grab 4th element 
+1

다가오는에서 릴리스, PHP는 이것을 지원합니다. 패치는 내가 트렁크에 전념했다고 믿습니다. –

+0

@alecgorge : PHP6처럼? 죄송 합니다만, 해당 정보에 대한 실제 php.net 링크 (즉, 유효한 참조)를 제공 할 수 없다면 믿을 수 없습니다. :) 우리는 파서의 변경에 대해 말하고 있으며, 일반적으로 파서가 자주 공개되지는 않습니다. – netcoder

+0

그럼 PHP6은 존재하지 않지만, 다른 문제입니다. 아마 PHP 5.4 또는 PHP 5.5 또는 그들이 무엇을 부를 지 알 것입니다. 왜 아직 거기에 있지 않은지 나는 모른다. 다음은 목록의 스레드입니다. http://markmail.org/message/unplu5x3gjjjydwz#query:+page:1+mid:affsjxr5nl2uxoe4+state:results –

2
 
function myFunction ($params, $index = null) { 
    ... 
    if ($index !== null) return $result [ $index ]; 
    else return $result; 
} 

... 

$indexed_result = myFunction ($parameters, 4); 
+1

+1 OP는 사용자 정의 함수이므로 OP는 그 목적을 위해 $ index 매개 변수를 추가 할 수 있습니다. 좋은 캐치. – netcoder

관련 문제