라이브러리

[PHP] Generator::rewind - 반복자를 되감습니다.




Generator::rewind 메서드


PHP 7.0 버전부터 Generator 클래스에 `rewind` 메서드가 추가되었습니다. 이 메서드는 Generator 객체를 처음부터 다시 시작하도록합니다.

# Generator::rewind 메서드의 사용법


Generator::rewind 메서드는 Generator 객체가 이미 끝났을 때 다시 시작할 수 있도록합니다. 예를 들어, Generator 객체를 사용하여 데이터를 읽는 경우, Generator::rewind 메서드를 사용하여 다시 처음부터 읽을 수 있습니다.

# 예제


#hostingforum.kr
php

function generateNumbers() {

    for ($i = 1; $i <= 5; $i++) {

        yield $i;

    }

}



$generator = generateNumbers();



// Generator 객체를 사용하여 데이터를 읽습니다.

foreach ($generator as $number) {

    echo "$number
";

}



// Generator::rewind 메서드를 사용하여 다시 처음부터 읽습니다.

$generator->rewind();



// Generator 객체를 다시 사용하여 데이터를 읽습니다.

foreach ($generator as $number) {

    echo "$number
";

}



# 결과


#hostingforum.kr


1

2

3

4

5

1

2

3

4

5



# Generator::rewind 메서드의 사용 예시


Generator::rewind 메서드는 여러 상황에서 유용합니다. 예를 들어, 데이터를 읽는 동안 오류가 발생한 경우, Generator::rewind 메서드를 사용하여 다시 처음부터 읽을 수 있습니다.

#hostingforum.kr
php

function generateNumbers() {

    for ($i = 1; $i <= 5; $i++) {

        if ($i == 3) {

            throw new Exception("Error at $i");

        }

        yield $i;

    }

}



$generator = generateNumbers();



try {

    foreach ($generator as $number) {

        echo "$number
";

    }

} catch (Exception $e) {

    echo "Error: " . $e->getMessage() . "
";

}



// Generator::rewind 메서드를 사용하여 다시 처음부터 읽습니다.

$generator->rewind();



// Generator 객체를 다시 사용하여 데이터를 읽습니다.

foreach ($generator as $number) {

    echo "$number
";

}



# 결과


#hostingforum.kr


1

2

Error: Error at 3

1

2

4

5



# Generator::rewind 메서드의 장점


Generator::rewind 메서드는 Generator 객체를 다시 처음부터 시작할 수 있도록합니다. 이 메서드는 여러 상황에서 유용합니다. 예를 들어, 데이터를 읽는 동안 오류가 발생한 경우, Generator::rewind 메서드를 사용하여 다시 처음부터 읽을 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 533 페이지

검색

게시물 검색