PHP 배열을 트리 구조로 변환하는 방법: 1. PHP 샘플 파일을 만듭니다. 2. "function buildTree(array $elements, $parentId = 0)" 구문을 사용하여 함수를 구성합니다. 매개변수 1은 변환할 배열입니다. 2는 지정된 루트 노드입니다. 3. 함수에 $branch 빈 배열을 정의하여 트리 구조를 저장하고 이를 탐색합니다. 4. 탐색 후 수정된 요소를 $branch 배열에 추가하고 트리 구조 배열 $branch를 반환합니다. 그게 다야.
이 튜토리얼의 운영 체제: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!