>백엔드 개발 >PHP 튜토리얼 >PHP 트리 클래스 인스턴스_php 기술

PHP 트리 클래스 인스턴스_php 기술

WBOY
WBOY원래의
2016-05-16 20:29:031068검색

이 기사의 예에서는 PHP 트리 클래스를 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

이 예제의 원리는 간단합니다. 데이터 구조를 공부했다면 한 눈에 무슨 뜻인지 알 수 있을 것입니다. 그런데 오늘 사용해보면, 자식 노드 ID(71)가 보다 작은 데이터에 나타났습니다. 상위 노드 ID(104)로 인해 일부 하위 노드가 존재하지 않게 되어 배열로 저장되고 수정되었습니다.

코드 복사 코드는 다음과 같습니다.
클래스 트리
{
    var $data = 배열();
    var $child = array(-1=>array());
    var $layer = array(-1=>-1);
    var $부모 = 배열();
    var $num = 배열();
 
    함수 setnode($id, $parent, $value,$num=0)
    {
        $부모 = $부모 ? $부모 : 0;
 
        $this->data[$id]  = $값;
        $this->num[$id]      = $num;
        if (!isset($this->child[$id])) $this->child[$id] = array();
        $this->child[$parent][] = $id;
        $this->parent[$id]  = $부모;
 
        if (!isset($this->layer[$parent]) && $parent == 0)
        {
           $this->레이어[$id] = 0;
        }
        그렇지 않으면
        {
            $this->layer[$id] = $this->layer[$parent] 1;
        }
    }
 
    함수 getlist(&$tree, $root= 0)
    {
        foreach($this->child[$root] as $key=>$id)
        {
            $tree[] = $id;
            if($this->child[$id]) $this->getlist($tree, $id);
        }
    }
 
    함수 getvalue($id)
    {
   if($this->layer[$id]==0)
   {
    $this->데이터[$id]를 반환합니다.
   }
   그렇지 않으면
   {
    $leftmar.$this->데이터[$id]를 반환합니다.
   }
    }
 
    함수 getnum($id)
    {
   $this->num[$id]를 반환합니다.
    }
 
    함수 getbitvalue($id)
    {
   $this->데이터[$id]를 반환합니다.
    }
 
    함수 getlayer($id, $space = false)
    {
        $space를 반환 하시겠습니까? str_repeat($space, $this->layer[$id]) : $this->layer[$id];
    }
 
    함수 getparent($id)
    {
        $this->부모[$id]를 반환합니다.
    }
 
    함수 getparents($id)
    {
        while ($this->parent[$id] != -1)
        {
            $id = $parent[$this->layer[$id]] = $this->parent[$id];
        }
 
        ksort($부모);
        재설정($부모);
 
        $부모를 반환합니다.
    }
 
    함수 getchild($id)
    {
        $this->child[$id]를 반환합니다.
    }
 
    함수 getchilds($id = 0)
    {
        $child = 배열($id);
        $this->getlist($child, $id);
 
        $child를 반환합니다.
    }
 
    함수 printdata()
    {
        $this->레이어를 반환합니다.
    }
}
?>

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

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