
Generator::rewind 메서드는 Generator 객체의 상태를 초기화합니다. 이 메서드를 사용한 후 다시 Generator 객체를 호출하면 처음부터 다시 시작할 수 있습니다.
Generator::rewind 메서드는 소비자(consumer)가 Generator 객체를 다시 시작할 수 있도록 합니다.
Generator::rewind 메서드를 사용하는 예제는 다음과 같습니다.
#hostingforum.kr
php
function fibonacci() {
$a = 0;
$b = 1;
yield $a;
yield $b;
while (true) {
list($a, $b) = array($b, $a + $b);
yield $b;
}
}
$gen = fibonacci();
print($gen->current() . "n"); // 0
print($gen->current() . "n"); // 1
$gen->next();
print($gen->current() . "n"); // 1
$gen->rewind();
print($gen->current() . "n"); // 0
이 예제에서 fibonacci() 함수는 Generator 객체를 반환합니다. 이 Generator 객체는 fibonacci 시퀀스를 생성합니다. $gen->rewind() 메서드를 호출하면 Generator 객체의 상태가 초기화되고 처음부터 다시 시작할 수 있습니다.
2025-08-10 03:50