PHP current() 함수란?
PHP의 current() 함수는 배열의 내부 포인터가 현재 가리키고 있는 요소의 값을 반환합니다. PHP의 모든 배열은 내부적으로 포인터를 가지고 있으며, 배열이 새로 생성되면 이 포인터는 자동으로 첫 번째 요소를 가리키게 됩니다.
문법(Syntax)
current(arr)
매개변수(Parameters)
arr − 확인하고자 하는 대상 배열입니다. 필수 매개변수입니다.
반환값(Return)
current() 함수는 배열에서 현재 요소의 값을 반환합니다. 만약 배열이 비어 있거나 내부 포인터가 배열의 범위를 벗어난 경우에는 false를 반환합니다.
예제 1
다음은 current() 함수의 기본적인 사용 예제입니다.
<?php
$arr = array("one", "two");
echo current($arr);
?>출력 결과
one
배열이 방금 생성된 직후이므로 내부 포인터는 첫 번째 요소인 "one"을 가리키며, 따라서 current() 함수는 "one"을 반환합니다.
예제 2
next() 함수와 함께 사용하면 내부 포인터가 어떻게 이동하는지 쉽게 확인할 수 있습니다.
<?php
$a = array('one', 'two', 'three', 'four', 'five', 'six' );
echo current($a)."\n";
echo next($a)."\n";
echo current($a)."\n";
?>출력 결과
one two two
위 예제의 동작 순서를 살펴보면 다음과 같습니다.
- 첫 번째 current($a) 호출 시, 포인터가 첫 번째 요소를 가리키고 있으므로 one이 출력됩니다.
- next($a) 호출 시, 내부 포인터가 다음 요소로 이동한 뒤 해당 값을 반환하므로 two가 출력됩니다.
- 다시 current($a)를 호출하면 포인터가 이미 두 번째 요소로 이동했기 때문에 two가 출력됩니다.
함께 알아두면 좋은 관련 함수
배열의 내부 포인터를 다루는 함수들은 서로 연계하여 사용됩니다.
- next() − 내부 포인터를 다음 요소로 이동시킨 후 그 값을 반환합니다.
- prev() − 내부 포인터를 이전 요소로 이동시킨 후 그 값을 반환합니다.
- end() − 내부 포인터를 마지막 요소로 이동시킨 후 그 값을 반환합니다.
- reset() − 내부 포인터를 첫 번째 요소로 되돌린 후 그 값을 반환합니다.
- key() − 현재 요소의 키(인덱스)를 반환합니다.