> 백엔드 개발 > PHP 문제 > PHP 배열을 트리 구조로 변환하는 방법

PHP 배열을 트리 구조로 변환하는 방법

尊渡假赌尊渡假赌尊渡假赌
풀어 주다: 2023-06-07 09:29:03
원래의
1284명이 탐색했습니다.

PHP 배열을 트리 구조로 변환하는 방법: 1. PHP 샘플 파일을 만듭니다. 2. "function buildTree(array $elements, $parentId = 0)" 구문을 사용하여 함수를 구성합니다. 매개변수 1은 변환할 배열입니다. 2는 지정된 루트 노드입니다. 3. 함수에 $branch 빈 배열을 정의하여 트리 구조를 저장하고 이를 탐색합니다. 4. 탐색 후 수정된 요소를 $branch 배열에 추가하고 트리 구조 배열 $branch를 반환합니다. 그게 다야.

PHP 배열을 트리 구조로 변환하는 방법

이 튜토리얼의 운영 체제: Windows 10 시스템, php8.1.3 버전, Dell G3 컴퓨터.

PHP 배열을 재귀적 방법을 통해 트리 구조로 변환합니다.

다음은 PHP 함수의 예입니다.

function buildTree(array $elements, $parentId = 0) {
    $branch = array();
    foreach ($elements as $element) {
        if ($element['parent_id'] == $parentId) {
            $children = buildTree($elements, $element['id']);
            if ($children) {
                $element['children'] = $children;
            }
            $branch[] = $element;
        }
    }
    return $branch;
}
로그인 후 복사

이 함수에서 $elements 매개변수는 변환할 배열이고 $parentId는 지정된 루트 노드입니다(기본값은 0). 이 함수는 먼저 트리 구조를 저장하고 탐색하기 위해 $branch라는 빈 배열을 정의합니다.

각 루프에서 함수는 현재 요소에 지정된 상위 ID가 있는지 확인하고, 그렇다면 현재 노드의 하위 노드입니다. 그런 다음 자체 buildTree() 함수를 호출하여 하위 노드를 추가하고 하위 노드를 $children 변수에 할당합니다. 이 함수는 $children이 비어 있는지 계속 확인하고, 비어 있으면 현재 요소의 'children' 키에 하위 노드를 할당합니다. 마지막으로 함수는 수정된 요소를 $branch 배열에 추가합니다.

모든 요소가 처리되면 함수는 트리 구조 배열 $branch를 반환합니다.

다음 데이터가 있다고 가정합니다.

$elements = [
    ['id' => 1, 'name' => 'Parent 1', 'parent_id' => 0],
    ['id' => 2, 'name' => 'Child 1', 'parent_id' => 1],
    ['id' => 3, 'name' => 'Grandchild 1', 'parent_id' => 2],
    ['id' => 4, 'name' => 'Grandchild 2', 'parent_id' => 2],
    ['id' => 5, 'name' => 'Parent 2', 'parent_id' => 0],
];
로그인 후 복사

이 함수는 트리 구조를 생성하기 위해 호출될 수 있습니다.

위 내용은 PHP 배열을 트리 구조로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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