라이브러리

[PHP] RecursiveArrayIterator::getChildren - 배열 또는 객체인 경우 현재 항목에 대한 반복자를 반환합니다.




RecursiveArrayIterator::getChildren()

RecursiveArrayIterator는 PHP의 SPL(Split) 모듈에서 제공하는 Iterator입니다. RecursiveArrayIterator는 Nested Array를 Iterator로 처리할 수 있도록 해줍니다.

RecursiveArrayIterator::getChildren() 메소드는 RecursiveArrayIterator의 자식 요소를 반환합니다.

예제


#hostingforum.kr
php

// Nested Array

$data = [

    'A' => [

        'A1' => 'Value 1',

        'A2' => 'Value 2',

        'A3' => [

            'A31' => 'Value 31',

            'A32' => 'Value 32',

        ],

    ],

    'B' => [

        'B1' => 'Value 11',

        'B2' => 'Value 12',

    ],

];



// RecursiveArrayIterator 생성

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



// RecursiveArrayIterator::getChildren() 사용

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

    if ($iterator->isLeaf()) {

        echo "Leaf Node: $key => $value
";

    } else {

        echo "Parent Node: $key
";

        $children = $iterator->getChildren();

        foreach ($children as $childKey => $childValue) {

            echo "  Child Node: $childKey => $childValue
";

        }

    }

}



결과


#hostingforum.kr


Parent Node: A

  Child Node: A1 => Value 1

  Child Node: A2 => Value 2

  Parent Node: A3

    Child Node: A31 => Value 31

    Child Node: A32 => Value 32

Parent Node: B

  Child Node: B1 => Value 11

  Child Node: B2 => Value 12

Leaf Node: A3 => Array

Leaf Node: B => Array



설명


위 예제에서 RecursiveArrayIterator::getChildren() 메소드는 Nested Array의 자식 요소를 반환합니다. RecursiveIteratorIterator는 RecursiveArrayIterator의 자식 요소를 Iterator로 처리합니다.

RecursiveIteratorIterator::isLeaf() 메소드는 현재 Iterator가 Leaf Node인지 아닌지를 확인합니다. Leaf Node는 자식 요소가 없는 Node입니다.

RecursiveIteratorIterator::getChildren() 메소드는 RecursiveArrayIterator의 자식 요소를 반환합니다.

참고


- RecursiveArrayIterator:
- RecursiveIteratorIterator:
- SPL:
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색