
Generator::next 메서드를 호출할 때, Generator 객체를 다시 초기화해야 하는 것은 아닙니다. Generator는 상태를 유지하는 객체이기 때문에, 이전에 호출한 데이터를 유지합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
function generator() {
for ($i = 0; $i < 5; $i++) {
yield $i;
}
}
$gen = generator();
echo $gen->current() . "n"; // 0
$gen->next();
echo $gen->current() . "n"; // 1
위 코드에서, `$gen` 객체는 Generator 객체입니다. `echo $gen->current() . "\n";` 문은 현재 데이터를 출력합니다. `$gen->next();` 문은 다음 데이터를 가져옵니다. 이때, `$gen` 객체의 상태는 유지됩니다.
만약 `$gen` 객체를 다시 초기화하고 싶다면, `$gen = generator();` 문을 사용하여 다시 초기화할 수 있습니다.
2025-04-26 09:14