2012-01-26 9 views
19

다음을 사용하여 $array의 마지막 항목 값을 가져올 수 있습니다. 해당 항목에 대한 참조는 어떻게 얻을 수 있습니까?배열의 마지막 항목에 대한 참조 얻기

$last_item = end($array); 

$array의 항목은 색인 배열입니다.

+0

HTTP : //www.php를 .net/manual/ko/function.end.php # 24804 –

답변

35
end($array); 
$referenceToLastElement = &$array[key($array)]; 
+0

그건 재미 있어요. 나는 그것이 받아 들여진 대답의 접근법에 비해 더 잘 수행 될지 궁금해. –

+1

@EmanuilRusev : 모든 배열에서 올바르게 작동하므로 성능이 향상됩니다. – Jon

+0

이 방법은 count() 메서드보다 빠릅니까? –

-1
list($last_key,$last_value) = each(array_slice($array,-1,1,true)); 

시도 2 ​​번?

$last_item = &$array[array_pop(array_keys($array))]; 

이렇게하면 배열의 마지막 요소에 대한 다양한 참조를 얻을 수 있습니다.

+0

나는 그것을 얻지 않는다. 나는 마지막 요소의 열쇠도, 그 가치도 - 단지 참조가 필요하지 않습니다. –

+0

나는 "단지 참고 문헌"이 무슨 의미인지 이해하지 못합니다. 나는 또 한번 시험 할 것이다. 편집을 참조하십시오. –

2

count() 당신이 배열의 마지막 요소에 대한 참조를 얻기 위해 몇 가지 간단한 산술 연산을 적용 할 수있는 배열의 길이를 줄 것이다 :

$array = array(
    array('jkl' => '456'), 
    array('abc' => '456'), 
); 
print_r($array); 
$last_item = &$array[count($array) - 1]; 
$last_item['abc'] = '123'; 
print_r($array); 
+0

이것이 내가 바라는 답변의 종류입니다. –

+0

문제 없습니다. 도와 드리겠습니다! – leepowers

+7

배열이 0에서 시작하는 깨지지 않은 정수 시퀀스로 인덱싱 된 경우에만 작동합니다. 큰 "if"입니다. – Jon

관련 문제