
NoRewindIterator::__construct() 메서드는 Iterator를 생성할 때 사용되는 메서드입니다. 이 메서드는 Iterator를 생성할 때, rewind() 메서드가 호출되지 않도록 막습니다.
NoRewindIterator::__construct() 메서드의 파라미터는 Iterator 인스턴스와 rewindable, key, value 옵션이 있습니다.
- Iterator 인스턴스: Iterator를 생성할 때 사용되는 인스턴스입니다.
- rewindable 옵션: rewind() 메서드가 호출되지 않도록 막을지 여부를 결정하는 옵션입니다. 기본값은 false입니다.
- key 옵션: key() 메서드가 호출되었는지 여부를 결정하는 옵션입니다. 기본값은 false입니다.
- value 옵션: current() 메서드가 호출되었는지 여부를 결정하는 옵션입니다. 기본값은 false입니다.
NoRewindIterator::__construct() 메서드를 사용하여 Iterator를 생성할 때, 다음과 같은 예외가 발생할 수 있습니다.
- Iterator 인스턴스가 null일 경우: Iterator 인스턴스가 null일 경우, InvalidArgumentException 예외가 발생합니다.
- rewindable 옵션이 true일 경우, Iterator 인스턴스의 rewind() 메서드가 호출되지 않습니다.
- key 옵션이 true일 경우, Iterator 인스턴스의 key() 메서드가 호출되지 않습니다.
- value 옵션이 true일 경우, Iterator 인스턴스의 current() 메서드가 호출되지 않습니다.
예를 들어, 다음과 같이 Iterator를 생성할 수 있습니다.
#hostingforum.kr
php
$iterator = new ArrayIterator([1, 2, 3]);
$rewindable = true;
$key = false;
$value = true;
$noRewindIterator = new NoRewindIterator($iterator, $rewindable, $key, $value);
foreach ($noRewindIterator as $value) {
echo $value; // 1
}
이 예제에서는 Iterator를 생성할 때, rewind() 메서드가 호출되지 않도록 막았습니다. 또한 key() 메서드가 호출되지 않았습니다.
2025-04-12 22:50