> 백엔드 개발 > PHP 튜토리얼 > 부모-자식 관계에서 PHP의 계층적 트리 구조를 어떻게 구축할 수 있습니까?

부모-자식 관계에서 PHP의 계층적 트리 구조를 어떻게 구축할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-12-14 11:41:11
원래의
229명이 탐색했습니다.

How Can I Build a Hierarchical Tree Structure in PHP from Parent-Child Relationships?

부모-자식 관계에서 계층적 트리 구조 생성

부모-자식 관계에서 계층적 트리 구조를 구성하는 것은 프로그래밍에서 일반적인 작업입니다. 이를 달성하려면 재귀적 접근 방식을 사용하여 데이터를 중첩된 단위로 효과적으로 구성할 수 있습니다.

PHP에서 일련의 상위-하위 쌍을 계층적 트리로 변환하려면 구문 분석과 인쇄라는 두 가지 핵심 기능이 필요합니다. 구문 분석 기능은 하위-상위 쌍을 체계적으로 탐색하여 계층적 데이터 구조를 구축합니다. 그 후 인쇄 기능은 이 구조를 일련의 중첩된 HTML 비순차 목록으로 변환하며 각 목록 항목은 하위 항목을 나타냅니다.

예를 들어 다음 상위-하위 쌍을 고려하세요.

Child : Parent
H : G
F : G
G : D
E : D
A : E
B : C
C : E
D : NULL
로그인 후 복사

이 데이터를 구문 분석하기 위해 parsTree 함수를 정의합니다.

function parseTree($tree, $root = null) {
    $return = array();
    foreach($tree as $child => $parent) {
        if($parent == $root) {
            unset($tree[$child]);
            $return[] = array(
                'name' => $child,
                'children' => parseTree($tree, $child)
            );
        }
    }
    return empty($return) ? null : $return;
}
로그인 후 복사

다음으로 printTree 함수를 정의하여 구문 분석된 데이터를 변환합니다. 계층 구조를 HTML 비순차 목록으로 변환:

function printTree($tree) {
    if(!is_null($tree) && count($tree) > 0) {
        echo '<ul>';
        foreach($tree as $node) {
            echo '<li>'.$node['name'];
            printTree($node['children']);
            echo '</li>';
        }
        echo '</ul>';
    }
}
로그인 후 복사

이 두 기능을 결합하면 하위-상위 쌍을 계층적 트리 구조로 성공적으로 변환할 수 있습니다.

위 내용은 부모-자식 관계에서 PHP의 계층적 트리 구조를 어떻게 구축할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿