function Tree ($value) { $this->setNod " /> 国产社区精品视频,免费在线观看的电影网站,伊人久久成人

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php 無限分類的樹類代碼

復制代碼 代碼如下:
<?php
/**
by lenush;
*/
class Tree
{
var $data = array();
var $child = array(-1=>array());
var $layer = array(-1=>-1);
var $parent = array();

function Tree ($value)
{
$this->setNode(0, -1, $value);
} // end func

function setNode ($id, $parent, $value)
{
$parent = $parent?$parent:0;

$this->data[$id] = $value;
$this->child[$id] = array();
$this->child[$parent][] = $id;
$this->parent[$id] = $parent;

if (!isset($this->layer[$parent]))
{
$this->layer[$id] = 0;
}
else
{
$this->layer[$id] = $this->layer[$parent] + 1;
}
} // end func

function getList (&$tree, $root= 0)
{
foreach ($this->child[$root] as $key=>$id)
{
$tree[] = $id;

if ($this->child[$id]) $this->getList($tree, $id);
}
} // end func


function getValue ($id)
{
return $this->data[$id];
} // end func


function getLayer ($id, $space = false)
{
return $space?str_repeat($space, $this->layer[$id]):$this->layer[$id];
} // end func

function getParent ($id)
{
return $this->parent[$id];
} // end func

function getParents ($id)
{
while ($this->parent[$id] != -1)
{
$id = $parent[$this->layer[$id]] = $this->parent[$id];
}

ksort($parent);
reset($parent);

return $parent;
} // end func

function getChild ($id)
{
return $this->child[$id];
} // end func

function getChilds ($id = 0)
{
$child = array($id);
$this->getList($child, $id);

return $child;
} // end func
} // end class


//new Tree(根目錄的名字);
//根目錄的ID自動分配為0
$Tree = new Tree('目錄導航');

//setNode(目錄ID,上級ID,目錄名字);
$Tree->setNode(1, 0, '目錄1');
$Tree->setNode(2, 1, '目錄2');
$Tree->setNode(3, 0, '目錄3');
$Tree->setNode(4, 3, '目錄3.1');
$Tree->setNode(5, 3, '目錄3.2');
$Tree->setNode(6, 3, '目錄3.3');
$Tree->setNode(7, 2, '目錄2.1');
$Tree->setNode(8, 2, '目錄2.2');
$Tree->setNode(9, 2, '目錄2.3');
$Tree->setNode(10, 6, '目錄3.3.1');
$Tree->setNode(11, 6, '目錄3.3.2');
$Tree->setNode(12, 6, '目錄3.3.3');

//getChilds(指定目錄ID);
//取得指定目錄下級目錄.如果沒有指定目錄就由根目錄開始
$category = $Tree->getChilds();

//遍歷輸出
foreach ($category as $key=>$id)
{
echo $Tree->getLayer($id, '|-').$Tree->getValue($id)."<br />/n";
}
?>

php技術php 無限分類的樹類代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 丹江口市| 枣阳市| 逊克县| 阳东县| 临猗县| 县级市| 汤阴县| 灵宝市| 泰来县| 深圳市| 大兴区| 武城县| 通许县| 蕉岭县| 台南市| 阳山县| 广西| 宁国市| 大厂| 宁阳县| 西安市| 桓台县| 遂宁市| 故城县| 武山县| 永福县| 阿城市| 全州县| 花垣县| 章丘市| 濮阳县| 化隆| 漾濞| 和林格尔县| 临漳县| 安塞县| 新兴县| 屏南县| 滕州市| 明星| 怀集县|