php樹型類實例代碼
本文實例講述了PHP樹型類。分享給大家供大家參考。具體分析如下:
該實例原理簡單,學過數據結構的'一看就明白是什麼道理了,不過今天在使用時數據中出現了子節點id(71)小於父節點id(104).導致部分子節點沒被存儲入數組,修改了一下,實例代碼如下:
複製代碼 代碼如下:<?php
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;
}
}
?>
希望本文所述對大家的PHP程序設計有所幫助。
相關文章
-
php獲取新浪微博數據API的實例代碼
時間就如同白駒過隙般的流逝,我們又將接觸新的知識,學習新的技能,積累新的經驗,是時候寫一份詳細的計劃了。相信許多人會覺得計劃很難寫?下面是小編爲大家整理的生物教師工作計劃,歡迎閱讀,希望大家能夠喜歡。生物教師工作計 -
PHP中FTP操作類代碼
文章主要介紹了php中實現FTP功能,包括上傳,拷貝,移動,刪除文件與創建目錄功能,需要的'朋友可以參考下.就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網! 複製代碼 代碼如下:<?php/ -
學習php分頁代碼實例
學習PHP,一定會遇到操作MYSQL數據庫,而且會對數據庫裏的數據做分頁顯示出來的問題,下面寫一個小例子學習一下PHP分頁的方法。PHP分頁有很多方法,今天我們就用一個小例子演示一下這個功能。 複製代碼 代碼如下:$result -
PHP時間戳使用實例代碼
總結是事後對某一階段的學習、工作或其完成情況加以回顧和分析的一種書面材料,它可以給我們下一階段的學習和工作生活做指導,爲此要我們寫一份總結。那麼總結有什麼格式呢?以下是小編幫大家整理的行政文員個人年終總結,歡 -
PHP開發微信支付實例代碼
本文介紹了php開發的微信支付代碼一例,如何用php開發微信支付功能?有需要的朋友參考下。在php開發中,用微信真的可以做太多事情了,先來看下微信支付的開發心得吧,以後會慢慢補全其他方面的開發代碼。微信支付,即便交了保證 -
PHP生成圖片縮略圖類示例代碼
導語:PHP如何生成圖片縮略圖類?下面是小編給大家提供的代碼示例,大家可以參考閱讀,更多詳情請關注應屆畢業生考試網。class App_image_helper {protected $imgFileName;protected $imgWidth;protected $imgHeight;protec -
PHP類商品秒殺計時實現代碼
比如要做一個限時購物的功能,這就要做到倒計時,要有實時的倒計時。就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!要求要有小時分鐘秒的實時倒計時的顯示,用戶端修改日期時間不會影響 -
php生成sitemap.xml的實例代碼
本文分享一個自己寫的'生成文件的php代碼,感興趣的朋友可以參考下。本節內容:php生成例子:複製代碼 代碼示例:<?PHP/*** 生成文件*/$content='<?xml version="1.0" encoding="UTF-8"?><urlsetxmlns=""xmlns:xsi=""x -
實用的PHP實例代碼20個
讓珊瑚遠離驚濤駭浪的侵蝕嗎?那無異是將它們的美麗葬送。以下是小編爲大家搜索整理的實用的PHP實例代碼20個,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!可閱讀隨機字符串此代碼將創建一個可閱 -
最實用的PHP實例代碼21個
PHP 是一種 HTML 內嵌式的語言,是一種在服務器端執行的`嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,被廣泛的運用。以下是本站小編搜索整理的關於最實用的PHP實例代碼21個,供參考借鑑,希望對大家有所幫助!想了解更多