2010-02-14 4 views
9

이 키가 배열의 마지막 요소인지 어떻게 확인할 수 있습니까?키가 배열의 마지막 요소인지 확인하고 싶습니까?

$array = array("a","b","c"); 

값 "c"를 참 또는 거짓들이 키가 배열의 마지막 경우에 따라 반환이 is_end(2) 같은 일부 코드가 키 2. 것? 어떤 종류의 while() 문을 사용할 수 있습니까?

+0

가능한 중복 : http://stackoverflow.com/questions/1892848/return-last-numeric-key-not-value-of-an-array, http://stackoverflow.com/questions/ 216030/what-is-the-the-best-get-the-last-added-array-in-php –

답변

20

end()key()을 사용하여 배열 끝에 키를 가져올 수 있습니다.

$last_index = count($array) - 1; 

을하지만이 연관 배열 작동하지 않습니다 :

end($array); 
$lastKey = key($array); 
+0

완벽한! 감사 : D – tarnfeld

+0

어쩌면 당신이 좋아하는 것 : end ($ array); $ lastKey = key ($ array); 하지만 단 한 문장으로 모든 것을 할 수 없습니다 ..... – useless

+0

@unless 예. 결정된. – Yacoby

5

당신은 배열 값을 count 수 있습니다.

+0

이것이 내가 일반적으로 사용하는 방법입니까? 최선인지 확실하지는 않지만 예를 들어 foreach 루프를 사용하면 문제/혼란을 야기 할 수있는 대답이있을 것입니다. 아무도 통찰력이 없어? – andyface

+1

'foreach'와'end' 둘 다 내부 배열 포인터를 (현재 요소에) 수정하므로, 동시에 두 구문을 모두 사용하면 문제가 해결됩니다. –

+0

완전성을 위해 : count()는 유효한 키가 아닌 항목의 수를 반환합니다. 문자열 키 또는 0,1,2,3 이외의 키 순서가있는 경우 $ array [count ($ array) -1]도 작동하지 않습니다. –

1
$is_2_lastone = array_pop(array_keys($array)) === 2; 
0

당신이 associative array를 사용하지 않는 가정 할 때, 당신은 단지 count를 사용하여 배열의 길이를 확인할 수 있습니다. 반환 할 것입니다 1+last index in array

+0

완전성을 위해 : count()는 유효한 키가 아닌 항목의 수를 반환합니다. 문자열 키 또는 0,1,2,3 이외의 키 순서가있는 경우 $ array [count ($ array) -1]가 작동하지 않습니다. –

관련 문제