>백엔드 개발 >PHP 튜토리얼 >재귀 구현_php 기술을 기반으로 한 PHP 트리 메뉴 코드

재귀 구현_php 기술을 기반으로 한 PHP 트리 메뉴 코드

WBOY
WBOY원래의
2016-05-16 20:31:13940검색

이 기사의 예에서는 재귀 구현을 기반으로 하는 PHP 트리 메뉴 코드를 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.

전자상거래 웹사이트를 개발할 때 재귀적으로 구현한 PHP 트리 메뉴 기능을 이용하여 트리 메뉴를 표시하는 기능을 만들었습니다. 구체적인 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
공용 함수 procCategory($sid,$pid){
$return = 배열();
$키 = 0;
static $arr = array(); //분류 수준 참조 배열
$sql = "shop_goods_catalog에서 cid,pcid,name을 선택하세요. 여기서 sid='{$sid}'이고 pcid = '{$pid}'";
$result = $this->__db->query($sql);

while($row=$this->__db->fetchArray($result)){
$nbsp = '';
if($row['pcid']==0){
$arr = 배열();
}
$arr[] = $row['pcid'];
//최상위 범주는 트리 구조 식별자를 추가하지 않습니다.
if($row['pcid']>0){
//분류 수준에 따른 트리 구조 식별 추가
$key = array_search($row['pcid'],$arr);
for($i=0;$i<$key;$i ){
$nbsp .= ' ';
}
//분류 수준 참조 배열 재구성
if(count($arr)>1&&count(array_keys($arr,$row['pcid']))>1){
$arr = array_slice($arr,0,$key 1);
}
}
$row['이름'] = $nbsp.$row['이름'];
$row['level'] = $key; //분류 수준, 0은 최상위 분류, 1은 두 번째 수준 분류로 스타일 설정이나 기타 요구 사항에 사용됩니다
$return[] = $행;
$r = $this->procCategory($sid,$row['cid']);
$return = array_merge($return,$r);
}

$return;
}

재귀의 효율성이 상대적으로 낮기 때문에 프로그램 효율성에 중점을 둔다면 이 방법을 사용하지 않거나 이 방법을 개선하는 것이 좋습니다.

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.