
RecursiveCallbackFilterIterator::__construct 메서드는 RecursiveCallbackFilterIterator 클래스의 생성자로, 이터레이터를 생성하는 데 사용됩니다. 이 메서드는 callback 함수를 통해 필터링을 수행합니다.
이 메서드의 파라미터는 다음과 같습니다.
- $iterator: 필터링을 수행할 이터레이터
- $callback: 필터링을 수행할 callback 함수
- $flags: 옵션 플래그 (기본값은 RecursiveIteratorIterator::CHILD_FIRST)
이 메서드의 반환값은 RecursiveCallbackFilterIterator 인스턴스입니다.
이 메서드를 사용하여 이터레이터를 생성하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/path/to/directory'));
$callback = function ($file) {
return $file->isFile() && $file->getExtension() === 'txt';
};
$filteredIterator = new RecursiveCallbackFilterIterator($iterator, $callback);
foreach ($filteredIterator as $file) {
echo $file->getPathname() . "n";
}
이 예제에서는 RecursiveDirectoryIterator 인스턴스를 생성하여 디렉토리 이터레이터를 만듭니다. callback 함수를 정의하여 파일이 txt 확장자이고 파일인지 여부를 필터링합니다. RecursiveCallbackFilterIterator 인스턴스를 생성하여 필터링을 수행한 후, foreach 문을 사용하여 필터링된 이터레이터를 반복합니다.
2025-07-18 15:05