php樹型類實(shí)例
本文實(shí)例講述了php樹型類。分享給大家供大家參考。具體分析如下:
該實(shí)例原理簡(jiǎn)單,學(xué)過數(shù)據(jù)結(jié)構(gòu)的一看就明白是什么道理了,不過今天在使用時(shí)數(shù)據(jù)中出現(xiàn)了子節(jié)點(diǎn)id(71)小于父節(jié)點(diǎn)id(104).導(dǎo)致部分子節(jié)點(diǎn)沒被存儲(chǔ)入數(shù)組,修改了一下,實(shí)例代碼如下:
class tree
{
var $data = array();
var $child = array(-1=>array());
var $layer = array(-1=>-1);
var $parent = array();
var $num = array();
function setnode($id, $parent, $value,$num=0)
{
$parent = $parent ? $parent : 0;
$this->data[$id] = $value;
$this->num[$id] = $num;
if (!isset($this->child[$id])) $this->child[$id] = array();
$this->child[$parent][] = $id;
$this->parent[$id] = $parent;
if (!isset($this->layer[$parent]) && $parent == 0)
{
$this->layer[$id] = 0;
}
else
{
$this->layer[$id] = $this->layer[$parent] + 1;
}
}
function getlist(&$tree, $root= 0)
{
foreach ($this->child[$root] as $key=>$id)
{
$tree[] = $id;
if($this->child[$id]) $this->getlist($tree, $id);
}
}
function getvalue($id)
{
if($this->layer[$id]==0)
{
return $this->data[$id];
}
else
{
return $leftmar.$this->data[$id];
}
}
function getnum($id)
{
return $this->num[$id];
}
function getbitvalue($id)
{
return $this->data[$id];
}
function getlayer($id, $space = false)
{
return $space ? str_repeat($space, $this->layer[$id]) : $this->layer[$id];
}
function getparent($id)
{
return $this->parent[$id];
}
function getparents($id)
{
while ($this->parent[$id] != -1)
{
$id = $parent[$this->layer[$id]] = $this->parent[$id];
}
ksort($parent);
reset($parent);
return $parent;
}
function getchild($id)
{
return $this->child[$id];
}
function getchilds($id = 0)
{
$child = array($id);
$this->getlist($child, $id);
return $child;
}
function printdata()
{
return $this->layer;
}
}
?>
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。
- php通過前序遍歷樹實(shí)現(xiàn)無需遞歸的無限極分類
- php遍歷樹的常用方法匯總
- PHP使用遞歸生成文章樹
- php從數(shù)據(jù)庫查詢結(jié)果生成樹形列表的方法
- php簡(jiǎn)單實(shí)現(xiàn)無限分類樹形列表的方法
- PHP樹的深度編歷生成迷宮及A*自動(dòng)尋路算法實(shí)例分析
- php實(shí)現(xiàn)的樹形結(jié)構(gòu)數(shù)據(jù)存取類實(shí)例
- PHP+Mysql樹型結(jié)構(gòu)(無限分類)數(shù)據(jù)庫設(shè)計(jì)的2種方式實(shí)例
- php 無限級(jí)分類,超級(jí)簡(jiǎn)單的無限級(jí)分類,支持輸出樹狀圖
- PHP無限分類(樹形類)
- php無序樹實(shí)現(xiàn)方法
相關(guān)文章
phpmyadmin 3.4 空密碼登錄的實(shí)現(xiàn)方法
很多時(shí)候我們?cè)诒緳C(jī)測(cè)試時(shí)會(huì)將root用戶密碼設(shè)置為空。2010-05-05
PHP實(shí)現(xiàn)的函數(shù)重載功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的函數(shù)重載功能,結(jié)合實(shí)例形式分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)中使用__call方法的重載及構(gòu)造函數(shù)重載相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-08-08
PHP消息隊(duì)列實(shí)現(xiàn)及應(yīng)用詳解【隊(duì)列處理訂單系統(tǒng)和配送系統(tǒng)】
這篇文章主要介紹了PHP消息隊(duì)列實(shí)現(xiàn)及應(yīng)用,結(jié)合實(shí)例形式詳細(xì)分析了php消息隊(duì)列的概念、原理及隊(duì)列處理訂單系統(tǒng)和配送系統(tǒng)案例,需要的朋友可以參考下2019-05-05
PHP 開發(fā)環(huán)境配置(Zend Server安裝)
運(yùn)行安裝文件(ZendServer-CE-php-5.3.2-5.0.1-Windows_x86.exe)開始安裝,選項(xiàng)請(qǐng)參照我的選擇。2010-04-04
php實(shí)現(xiàn)的一段簡(jiǎn)單概率相關(guān)代碼
這篇文章主要介紹了php實(shí)現(xiàn)的一段簡(jiǎn)單概率相關(guān)代碼,通過數(shù)字的運(yùn)算分析概率統(tǒng)計(jì)的原理與使用技巧,需要的朋友可以參考下2016-05-05
php將textarea數(shù)據(jù)提交到mysql出現(xiàn)很多空格的解決方法
這篇文章主要介紹了php將textarea數(shù)據(jù)提交到mysql出現(xiàn)很多空格的解決方法,分析了空格出現(xiàn)的原因以及刪除空格的簡(jiǎn)單實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12

