PHP의 next() 함수는 배열의 내부 포인터를 현재 위치에서 다음 요소로 한 칸 앞으로 이동시키는 함수입니다. 포인터가 이동한 후에는 해당 위치에 있는 요소의 값을 반환하므로, current() 함수와 함께 사용하면 배열을 순차적으로 탐색할 때 매우 유용합니다.
문법
next(arr)
매개변수
arr − 내부 포인터를 이동시킬 대상 배열입니다.
반환값
next() 함수는 성공적으로 포인터가 이동하면 배열에서 다음 요소의 값을 반환합니다. 만약 배열의 끝에 도달하여 더 이상 이동할 요소가 없다면 FALSE를 반환합니다.
참고: PHP 8.0부터 next() 함수의 매개변수에 배열 타입이 명시되어 있으므로, 배열이 아닌 값을 전달하면 TypeError가 발생합니다.
예제 1
다음은 next() 함수의 기본적인 사용 예입니다.
<?php
$os = array('windows', 'mac', 'linux', 'solaris');
echo current($os) . "<br>";
echo next($os);
?>출력 결과
windows mac
위 예제에서 current($os)는 현재 포인터 위치의 첫 번째 요소 'windows'를 반환하고, next($os)는 포인터를 다음으로 이동시켜 두 번째 요소 'mac'을 반환합니다.
예제 2
이번에는 current(), next(), end() 함수를 조합하여 배열 포인터의 동작을 자세히 살펴보겠습니다.
<?php
$a = array('one', 'two', 'three', 'four', 'five', 'six' );
echo current($a)."\n";
echo next($a)."\n";
echo current($a)."\n";
echo next($a)."\n";
echo end($a)."\n";
echo current($a)."\n";
?>출력 결과
one two two three six six
실행 흐름을 단계별로 살펴보면 다음과 같습니다.
- current($a): 초기 포인터 위치의 첫 번째 요소 'one'을 반환합니다.
- next($a): 포인터가 두 번째 요소로 이동하여 'two'를 반환합니다.
- current($a): 포인터가 그대로이므로 다시 'two'를 반환합니다.
- next($a): 포인터가 세 번째 요소로 이동하여 'three'를 반환합니다.
- end($a): 포인터를 마지막 요소로 이동시켜 'six'를 반환합니다.
- current($a): 포인터가 마지막에 위치하므로 'six'를 반환합니다.
함께 알아두면 좋은 관련 함수
- current() − 내부 포인터가 가리키는 현재 요소의 값을 반환합니다.
- prev() − next()와 반대로 내부 포인터를 이전 요소로 이동시킵니다.
- reset() − 내부 포인터를 배열의 첫 번째 요소로 되돌립니다.
- end() − 내부 포인터를 배열의 마지막 요소로 이동시킵니다.
- key() − 현재 포인터 위치의 키(인덱스)를 반환합니다.