라이브러리
[PHP] RecursiveCallbackFilterIterator::__construct - RecursiveIterator에서 RecursiveCallbackFilterIterator를 생성합니다.
RecursiveCallbackFilterIterator::__construct
PHP의 RecursiveCallbackFilterIterator 클래스는 RecursiveIteratorInterface를 구현한 클래스입니다. 이 클래스는 반복 가능한 객체를 생성하고, 반복 가능한 객체의 하위 항목을 반복할 수 있도록합니다. RecursiveCallbackFilterIterator::__construct 메서드는 RecursiveCallbackFilterIterator 클래스의 생성자입니다.
사용 방법
RecursiveCallbackFilterIterator::__construct 메서드는 다음과 같은 형식으로 사용됩니다.
#hostingforum.kr
php
RecursiveCallbackFilterIterator::__construct(
RecursiveIteratorInterface $iterator,
callable $callback,
int $flags = RecursiveIteratorIterator::SELF_FIRST,
string $group = ''
)
- `$iterator`: 반복 가능한 객체를 생성하기 위한 RecursiveIteratorInterface 객체입니다.
- `$callback`: 필터링을 위한 콜백 함수입니다. 콜백 함수는 반복 가능한 객체의 항목을 필터링하기 위해 사용됩니다.
- `$flags`: 반복 가능한 객체의 필터링 옵션입니다. 기본값은 RecursiveIteratorIterator::SELF_FIRST입니다.
- `$group`: 반복 가능한 객체의 그룹을 지정합니다. 기본값은 빈 문자열입니다.
예제
다음 예제는 RecursiveCallbackFilterIterator::__construct 메서드를 사용하여 반복 가능한 객체를 생성하고 필터링하는 방법을 보여줍니다.
#hostingforum.kr
php
// DirectoryIterator 객체를 생성합니다.
$dir = new RecursiveDirectoryIterator('./', RecursiveDirectoryIterator::SKIP_DOTS);
// 콜백 함수를 정의합니다.
function callback($file) {
// 파일 이름이 'test'로 시작하는 파일만 필터링합니다.
return strpos($file->getFilename(), 'test') === 0;
}
// RecursiveCallbackFilterIterator 객체를 생성합니다.
$iterator = new RecursiveCallbackFilterIterator($dir, 'callback');
// 반복 가능한 객체를 반복합니다.
foreach ($iterator as $file) {
echo $file->getPathname() . "
";
}
이 예제는 './' 디렉토리와 하위 디렉토리에서 'test'로 시작하는 파일만 필터링하여 출력합니다.
필터링 옵션
RecursiveCallbackFilterIterator::__construct 메서드의 `$flags` 매개변수는 반복 가능한 객체의 필터링 옵션을 지정합니다. 다음은 필터링 옵션의 예입니다.
- `RecursiveIteratorIterator::SELF_FIRST`: 반복 가능한 객체의 항목을 필터링합니다.
- `RecursiveIteratorIterator::CHILD_FIRST`: 반복 가능한 객체의 하위 항목을 필터링합니다.
- `RecursiveIteratorIterator::LEAVES_ONLY`: 반복 가능한 객체의 하위 항목을 필터링하지 않습니다.
그룹 지정
RecursiveCallbackFilterIterator::__construct 메서드의 `$group` 매개변수는 반복 가능한 객체의 그룹을 지정합니다. 이 매개변수는 반복 가능한 객체의 항목을 필터링할 때 사용됩니다.
#hostingforum.kr
php
// DirectoryIterator 객체를 생성합니다.
$dir = new RecursiveDirectoryIterator('./', RecursiveDirectoryIterator::SKIP_DOTS);
// 콜백 함수를 정의합니다.
function callback($file) {
// 파일 이름이 'test'로 시작하는 파일만 필터링합니다.
return strpos($file->getFilename(), 'test') === 0;
}
// RecursiveCallbackFilterIterator 객체를 생성합니다.
$iterator = new RecursiveCallbackFilterIterator($dir, 'callback', RecursiveIteratorIterator::SELF_FIRST, 'test_group');
// 반복 가능한 객체를 반복합니다.
foreach ($iterator as $file) {
echo $file->getPathname() . "
";
}
이 예제는 './' 디렉토리와 하위 디렉토리에서 'test'로 시작하는 파일만 필터링하여 출력합니다. 필터링된 항목은 'test_group' 그룹에 속합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.