라이브러리

[PHP] RecursiveIteratorIterator::__construct - RecursiveIteratorIterator 구성




RecursiveIteratorIterator::__construct


PHP의 RecursiveIteratorIterator는 반복 가능한 객체를 반복하고, 그 반복 가능한 객체가 또 다른 반복 가능한 객체를 포함하는 경우에 사용됩니다. RecursiveIteratorIterator::__construct는 RecursiveIteratorIterator 객체를 생성하는 생성자 함수입니다.

# 생성자 함수의 매개변수


RecursiveIteratorIterator::__construct의 생성자 함수에는 두 개의 매개변수가 있습니다.

* `$iterator`: 반복 가능한 객체를 나타내는 IteratorInterface 객체입니다.
* `$flags`: 반복을 제어하는 플래그입니다. 기본값은 RecursiveIteratorIterator::CHILD_FIRST입니다.

# 플래그


RecursiveIteratorIterator::__construct의 `$flags` 매개변수에는 다음과 같은 플래그가 있습니다.

* `RecursiveIteratorIterator::SELF_FIRST`: 현재 반복 가능한 객체를 먼저 반복합니다.
* `RecursiveIteratorIterator::CHILD_FIRST`: 현재 반복 가능한 객체의 자식 객체를 먼저 반복합니다.
* `RecursiveIteratorIterator::LEAVES_ONLY`: 현재 반복 가능한 객체의 자식 객체를 제외하고 반복합니다.
* `RecursiveIteratorIterator::CURRENT_AS_KEY`: 현재 반복 가능한 객체의 키를 현재 반복 가능한 객체로 변환합니다.
* `RecursiveIteratorIterator::CURRENT_AS_OBJECT`: 현재 반복 가능한 객체를 현재 반복 가능한 객체로 변환합니다.
* `RecursiveIteratorIterator::TOPOORDER`: 현재 반복 가능한 객체의 자식 객체를 반복할 때, 자식 객체의 자식 객체를 먼저 반복합니다.

# 예제


다음 예제는 RecursiveIteratorIterator::__construct를 사용하여 반복 가능한 객체를 반복하는 방법을 보여줍니다.

#hostingforum.kr
php

// 반복 가능한 객체를 생성합니다.

$iterator = new RecursiveIteratorIterator(

    new RecursiveDirectoryIterator('/path/to/directory', RecursiveDirectoryIterator::SKIP_DOTS),

    RecursiveIteratorIterator::SELF_FIRST

);



// 반복 가능한 객체를 반복합니다.

foreach ($iterator as $file) {

    if ($file->isDir()) {

        echo "Directory: " . $file->getFilename() . "
";

    } else {

        echo "File: " . $file->getFilename() . "
";

    }

}



이 예제에서는 RecursiveDirectoryIterator를 사용하여 디렉토리와 파일을 반복 가능한 객체로 생성합니다. RecursiveIteratorIterator::__construct를 사용하여 반복 가능한 객체를 반복합니다. 플래그 `RecursiveIteratorIterator::SELF_FIRST`를 사용하여 현재 반복 가능한 객체를 먼저 반복합니다.

# 플래그를 사용한 예제


다음 예제는 RecursiveIteratorIterator::__construct를 사용하여 플래그를 사용하여 반복 가능한 객체를 반복하는 방법을 보여줍니다.

#hostingforum.kr
php

// 반복 가능한 객체를 생성합니다.

$iterator = new RecursiveIteratorIterator(

    new RecursiveDirectoryIterator('/path/to/directory', RecursiveDirectoryIterator::SKIP_DOTS),

    RecursiveIteratorIterator::CHILD_FIRST

);



// 반복 가능한 객체를 반복합니다.

foreach ($iterator as $file) {

    if ($file->isDir()) {

        echo "Directory: " . $file->getFilename() . "
";

    } else {

        echo "File: " . $file->getFilename() . "
";

    }

}



이 예제에서는 RecursiveIteratorIterator::__construct를 사용하여 플래그 `RecursiveIteratorIterator::CHILD_FIRST`를 사용하여 현재 반복 가능한 객체의 자식 객체를 먼저 반복합니다.

# 플래그를 사용한 예제 (TOPOORDER)


다음 예제는 RecursiveIteratorIterator::__construct를 사용하여 플래그 `RecursiveIteratorIterator::TOPOORDER`를 사용하여 반복 가능한 객체를 반복하는 방법을 보여줍니다.

#hostingforum.kr
php

// 반복 가능한 객체를 생성합니다.

$iterator = new RecursiveIteratorIterator(

    new RecursiveDirectoryIterator('/path/to/directory', RecursiveDirectoryIterator::SKIP_DOTS),

    RecursiveIteratorIterator::TOPOORDER

);



// 반복 가능한 객체를 반복합니다.

foreach ($iterator as $file) {

    if ($file->isDir()) {

        echo "Directory: " . $file->getFilename() . "
";

    } else {

        echo "File: " . $file->getFilename() . "
";

    }

}



이 예제에서는 RecursiveIteratorIterator::__construct를 사용하여 플래그 `RecursiveIteratorIterator::TOPOORDER`를 사용하여 현재 반복 가능한 객체의 자식 객체를 반복할 때, 자식 객체의 자식 객체를 먼저 반복합니다.

# 플래그를 사용한 예제 (LEAVES_ONLY)


다음 예제는 RecursiveIteratorIterator::__construct를 사용하여 플래그 `RecursiveIteratorIterator::LEAVES_ONLY`를 사용하여 반복 가능한 객체를 반복하는 방법을 보여줍니다.

#hostingforum.kr
php

// 반복 가능한 객체를 생성합니다.

$iterator = new RecursiveIteratorIterator(

    new RecursiveDirectoryIterator('/path/to/directory', RecursiveDirectoryIterator::SKIP_DOTS),

    RecursiveIteratorIterator::LEAVES_ONLY

);



// 반복 가능한 객체를 반복합니다.

foreach ($iterator as $file) {

    if ($file->isDir()) {

        echo "Directory: " . $file->getFilename() . "
";

    } else {

        echo "File: " . $file->getFilename() . "
";

    }

}



이 예제에서는 RecursiveIteratorIterator::__construct를 사용하여 플래그 `RecursiveIteratorIterator::LEAVES_ONLY`를 사용하여 현재 반복 가능한 객체의 자식 객체를 제외하고 반복합니다.

# 플래그를 사용한 예제 (CURRENT_AS_KEY)


다음 예제는 RecursiveIteratorIterator::__construct를 사용하여 플래그 `RecursiveIteratorIterator::CURRENT_AS_KEY`를 사용하여 반복 가능한 객체를 반복하는 방법을 보여줍니다.

#hostingforum.kr
php

// 반복 가능한 객체를 생성합니다.

$iterator = new RecursiveIteratorIterator(

    new RecursiveDirectoryIterator('/path/to/directory', RecursiveDirectoryIterator::SKIP_DOTS),

    RecursiveIteratorIterator::CURRENT_AS_KEY

);



// 반복 가능한 객체를 반복합니다.

foreach ($iterator as $key => $file) {

    if ($file->isDir()) {

        echo "Directory: " . $key . "
";

    } else {

        echo "File: " . $key . "
";

    }

}



이 예제에서는 RecursiveIteratorIterator::__construct를 사용하여 플래그 `RecursiveIteratorIterator::CURRENT_AS_KEY`를 사용하여 현재 반복 가능한 객체의 키를 현재 반복 가능한 객체로 변환합니다.

# 플래그를 사용한 예제 (CURRENT_AS_OBJECT)


다음 예제는 RecursiveIteratorIterator::__construct를 사용하여 플래그 `RecursiveIteratorIterator::CURRENT_AS_OBJECT`를 사용하여 반복 가능한 객체를 반복하는 방법을 보여줍니다.

#hostingforum.kr
php

// 반복 가능한 객체를 생성합니다.

$iterator = new RecursiveIteratorIterator(

    new RecursiveDirectoryIterator('/path/to/directory', RecursiveDirectoryIterator::SKIP_DOTS),

    RecursiveIteratorIterator::CURRENT_AS_OBJECT

);



// 반복 가능한 객체를 반복합니다.

foreach ($iterator as $file) {

    if ($file->isDir()) {

        echo "Directory: " . $file->getFilename() . "
";

    } else {

        echo "File: " . $file->getFilename() . "
";

    }

}



이 예제에서는 RecursiveIteratorIterator::__construct를 사용하여 플래그 `RecursiveIteratorIterator::CURRENT_AS_OBJECT`를 사용하여 현재 반복 가능한 객체를 현재 반복 가능한 객체로 변환합니다.

이러한 예제는 RecursiveIteratorIterator::__construct를 사용하여 플래그를 사용하여 반복 가능한 객체를 반복하는 방법을 보여줍니다. 플래그를 사용하여 반복 가능한 객체를 반복할 때, 다양한 플래그를 사용하여 반복을 제어할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색