개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.11 19:51

FilterIterator::rewind에 대한 질문

목록
  • 배포요정 5일 전 2025.07.11 19:51
  • 32
    1
저는 FilterIterator를 사용하여 데이터를 필터링하고 있습니다. 하지만 rewind 메소드의 동작에 대해 이해가 가지 않습니다. rewind 메소드는 FilterIterator가 원래 Iterator를 다시 읽을 수 있도록 하기 위한 것인지 궁금합니다. 예를 들어, 다음 코드를 살펴보면 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하고 다시 읽을 수 있도록 하는 것인지 궁금합니다.

php

$iterator = new ArrayIterator([1, 2, 3, 4, 5]);

$filterIterator = new FilterIterator($iterator, function ($current) {

    return $current % 2 == 0;

});



echo $filterIterator->current(); // 2

$filterIterator->rewind();

echo $filterIterator->current(); // 2



위 코드에서 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하고 다시 읽을 수 있도록 하는 것인지 궁금합니다. rewind 메소드의 동작에 대해 설명해주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  5일 전



    FilterIterator의 rewind 메소드는 원래 Iterator의 위치를 기억하지 않습니다. FilterIterator는 원래 Iterator의 데이터를 필터링하여 Iterator의 위치를 이동시킵니다.

    예를 들어, 원래 Iterator가 [1, 2, 3, 4, 5] 인 경우, FilterIterator가 2를 필터링하여 Iterator의 위치를 2로 이동시킵니다. rewind 메소드는 이 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    따라서, 위 코드에서 rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작하여 2를 다시 출력합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    이러한 동작은 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을 시작합니다.

    FilterIterator의 rewind 메소드는 FilterIterator가 원래 Iterator의 위치를 기억하지 않기 때문에, rewind 메소드를 호출하면 FilterIterator는 다시 처음부터 필터링을

    2025-07-11 19:52

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 36,467건 / 73 페이지

검색

게시물 검색