라이브러리

[PHP] RecursiveTreeIterator::endIteration - 반복 종료




RecursiveTreeIterator::endIteration


RecursiveTreeIterator는 PHP의 SplFileObject의 하위 클래스입니다. 이 클래스는 트리 구조의 데이터를 순회할 때 사용됩니다. RecursiveTreeIterator::endIteration 메소드는 트리 순회 중에 호출되는 메소드입니다. 이 메소드는 현재 노드의 자식 노드가 없을 때 호출됩니다.

# 사용법


RecursiveTreeIterator::endIteration 메소드는 다음과 같이 사용할 수 있습니다.

#hostingforum.kr
php

use RecursiveIteratorIterator;



$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/path/to/directory'));

while ($iterator->valid()) {

    echo $iterator->key() . "
";

    if ($iterator->hasChildren()) {

        $iterator->next();

        $iterator->rewindChildren();

    } else {

        $iterator->endChildren();

    }

}



# 예제


다음 예제는 RecursiveTreeIterator::endIteration 메소드를 사용하여 트리 구조의 데이터를 순회하는 방법을 보여줍니다.

#hostingforum.kr
php

use RecursiveIteratorIterator;



// 트리 구조의 데이터

$tree = [

    'root' => [

        'child1' => [

            'grandchild1' => 'value1',

            'grandchild2' => 'value2'

        ],

        'child2' => [

            'grandchild3' => 'value3',

            'grandchild4' => 'value4'

        ]

    ]

];



// RecursiveIteratorIterator 객체 생성

$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($tree));



// 트리 순회

while ($iterator->valid()) {

    echo $iterator->key() . "
";

    if ($iterator->hasChildren()) {

        $iterator->next();

        $iterator->rewindChildren();

    } else {

        $iterator->endChildren();

    }

}



# 결과


트리 순회 결과는 다음과 같습니다.

#hostingforum.kr


root

child1

grandchild1

grandchild2

child2

grandchild3

grandchild4



# 설명


RecursiveTreeIterator::endIteration 메소드는 트리 순회 중에 호출되는 메소드입니다. 이 메소드는 현재 노드의 자식 노드가 없을 때 호출됩니다. 예제에서는 RecursiveIteratorIterator 객체를 사용하여 트리 구조의 데이터를 순회합니다. 트리 순회 중에 현재 노드의 자식 노드가 없을 때 endChildren 메소드를 호출하여 트리 순회를 종료합니다.

# 참고


RecursiveTreeIterator::endIteration 메소드는 RecursiveIteratorIterator 클래스의 하위 클래스인 RecursiveTreeIterator 클래스에서 사용됩니다. RecursiveTreeIterator 클래스는 트리 구조의 데이터를 순회할 때 사용됩니다. RecursiveIteratorIterator 클래스는 RecursiveTreeIterator 클래스를 상속받아 트리 순회 중에 현재 노드의 자식 노드가 없을 때 호출되는 메소드를 제공합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색