집 >데이터 베이스 >MySQL 튜토리얼 >PHP에서 재귀 함수를 사용하여 에코 메뉴 트리를 만드는 방법은 무엇입니까?
데이터베이스에 저장된 계층적 메뉴 구조를 탐색하고 HTML은 어려울 수 있습니다. 카테고리와 해당 상위 카테고리가 있는 테이블이 주어지면 계층 구조를 시각적으로 나타내는 메뉴 트리를 생성하는 것이 임무입니다.
이 문제를 해결하려면 재귀 함수가 필요합니다. 아이디어는 루트 카테고리에서 시작하여 해당 하위 항목을 찾고, 각 하위 항목에 대해 함수를 재귀적으로 호출하여 진행하면서 HTML 출력을 구축하는 것입니다.
다음은 가능한 PHP 함수 구현:
<code class="php">function recurse($categories, $parent = null, $level = 0) { $ret = '<ul>'; foreach($categories as $index => $category) { if($category['root'] == $parent) { $ret .= '<li><a href="#"><p class="Tier' . $level . '">' . $category['name'] . '</p></a>'; $ret .= $this->recurse($categories, $category['id'], $level+1); $ret .= '</li>'; } } return $ret . '</ul>'; }</code>
함수 사용 방법:
초기 구현에서는 빈
<code class="php">function recurse($categories, $parent = null, $level = 0) { $ret = '<ul>'; foreach($categories as $index => $category) { if($category['root'] == $parent) { $ret .= '<li><a href="#"><p class="Tier' . $level . '">' . $category['name'] . '</p></a>'; $sub = $this->recurse($categories, $category['id'], $level+1); if($sub != '<ul></ul>') $ret .= $sub; $ret .= '</li>'; } } return $ret . '</ul>'; }</code>
이 수정을 통해 하위 항목이 있는 카테고리에만
또는 각 카테고리에 하위 개수를 추가하고
위 내용은 PHP에서 재귀 함수를 사용하여 에코 메뉴 트리를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!