
NoRewindIterator::next를 사용하여 Iterator의 다음 값을 얻는 방법은 다음과 같습니다.
1. NoRewindIterator 인스턴스를 생성하여 Iterator를 감싸는 방법입니다.
2. NoRewindIterator 인스턴스에서 next() 메서드를 호출하여 Iterator의 다음 값을 얻는 방법입니다.
Iterator가 Rewind Iterator인지 Forward Iterator인지 구분하는 방법은 다음과 같습니다.
- Rewind Iterator: rewind() 메서드를 지원하는 Iterator입니다. rewind() 메서드를 호출하여 Iterator의 처음 값을 얻을 수 있습니다.
- Forward Iterator: rewind() 메서드를 지원하지 않는 Iterator입니다. Iterator의 처음 값을 얻으려면 Iterator를 다시 초기화해야 합니다.
예를 들어, 아래와 같은 코드를 살펴보겠습니다.
#hostingforum.kr
php
$iterator = new ArrayIterator(['apple', 'banana', 'cherry']);
$rewindIterator = new NoRewindIterator($iterator);
echo $rewindIterator->current(); // 'apple'
echo $rewindIterator->next(); // 'banana'
echo $rewindIterator->current(); // 'banana'
위 코드에서 $rewindIterator는 Rewind Iterator가 아니므로 rewind() 메서드를 호출할 수 없습니다. Iterator의 처음 값을 얻으려면 Iterator를 다시 초기화해야 합니다.
#hostingforum.kr
php
$iterator = new ArrayIterator(['apple', 'banana', 'cherry']);
$rewindIterator = new NoRewindIterator($iterator);
echo $rewindIterator->current(); // 'apple'
echo $rewindIterator->next(); // 'banana'
$rewindIterator->rewind(); // rewind() 메서드를 호출할 수 없습니다.
반면에, 일반 Iterator를 사용하면 rewind() 메서드를 호출할 수 있습니다.
#hostingforum.kr
php
$iterator = new ArrayIterator(['apple', 'banana', 'cherry']);
echo $iterator->current(); // 'apple'
echo $iterator->next(); // 'banana'
$iterator->rewind(); // rewind() 메서드를 호출할 수 있습니다.
echo $iterator->current(); // 'apple'
2025-05-17 10:04