데이터베이스 결과에서 재귀적으로 다차원 배열 구축
플랫 데이터베이스 결과에서 페이지 및 카테고리 메뉴와 같은 계층적 데이터 구조를 검색하려면 , 재귀 함수를 사용할 수 있습니다. 이 함수는 원본 배열을 가져와 상위-하위 관계에 따라 중첩 배열로 구성합니다.
함수:
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; }
작동 방식 :
사용 예:
이를 사용하여 예제 데이터베이스 결과를 다차원 배열로 변환하려면 함수:
$tree = buildTree($rows);
여기서 $rows는 데이터베이스 결과의 원래 배열입니다.
출력:
결과 계층적 배열은 원하는 것과 유사합니다. 출력:
Array ( [0] => Array ( [id] => 1 [parent_id] => 0 [title] => Parent Page [children] => Array ( [0] => Array ( [id] => 2 [parent_id] => 1 [title] => Sub Page [children] => Array ( [0] => Array ( [id] => 3 [parent_id] => 1 [title] => Sub Sub Page ) ) ) ) [children] => Array ( [0] => Array ( [id] => 4 [parent_id] => 0 [title] => Another Parent Page [children] => Array ( ) ) ) ) )
위 내용은 평면 데이터베이스 결과에서 다차원 배열을 재귀적으로 구축하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!