PHP不用遞迴實現無限分級的例子分享

2022-09-26 11:33:17 字數 2283 閱讀 8211

兩個不用遞迴的樹形陣列操作函式

複製** **如下:

/** * 建立父節點樹形陣列

* 引數

* $ar 陣列,鄰接列表方式組織的資料

* $id 陣列中作為主鍵的下標或關聯鍵名

* $pid 陣列中作為父鍵的下標或關聯鍵名

* 返回 多維陣列

**/function find_parent($ar, $id='id', $pid='pid')

} return $t;

}/**

* 建立子節點樹形陣列

* 引數

* $ar 陣列,鄰接列表方式組織的資料

* $id 陣列中作為主鍵的下標或關聯鍵名

* $pid 陣列中作為父鍵的下標或關聯鍵名

* 返回 多維陣列

**/function find_child($ar, $id='id', $pid='pid')

}  return $t;

}使用例子:

複製** **如下:

$data = array(

array('id'=>1, 'parent'=>0, 'name'=>'祖父'),

array('id'=>2, 'parent'=>1, 'name'=>'父親'),

array('id'=>3, 'parent'=>1, 'name'=>'叔伯'),

array('id'=>4, 'parent'=>2, 'name'=>'自己'),

array('id'=>5, 'parent'=>4, 'name'=>'兒子'),

);$p = find_parent($data, 'id', 'parent');

$c = find_child($data, 'id', 'parent');

執行效果:

複製** **如下:

array

(    [1] => array

([id] => 1

[parent] => 0

[name] => 祖父

[child] => array

([2] => array

([id] => 2

[parent] => 1

[name] => 父親

[child] => array

([4] => array

([id] => 4

[parent] => 2

[name] => 自己

[child] => array

([5] => array

([id] => 5

[parent] => 4

[name] => 兒子))

&n程式設計客棧bsp;         )))

[3] => array

([id] => 3

[parent] => 1

[name] => 叔伯))

)[2] => array

([id] => 2

[parent] => 1

[name] => 父親

[child] => array

([4] => array

([id] => 4

[parent] => 2

[name] => 自己

[child] => array

www.cppcns.com                (

[5] => array

(&n程式設計客棧bsp;                           [id] => 5

&nbgpjfsbtbnsp;                        [parent] => 4

[name] => 兒子))

))

)[3] => array

([id] => 3

[parent] => 1

[name] => 叔伯

)[4] => array

([id] => 4

[parent] => 2

[name] => 自己

[child] => array

([5] => array

([id] => 5

[parent] => 4

[name] => 兒子))

)[5] => array

([id] => 5

[parent] => 4

[name] => 兒子

gpjfsbtbn   )

)

本文標題: php不用遞迴實現無限分級的例子分享

本文位址:

PHP中不用遞迴實現無限極分類

items array 1 array id 1,pid 0,name 江西省 2 array id 2,pid 0,name 黑龍江省 3 array id 3,pid 1,name 南昌市 4 array id 4,pid 2,name 哈爾濱市 5 array id 5,pid 2,name ...

php不用遞迴實現無限分類資料的樹形格式化

此方法由 tonton 提供 date 2012 12 12 function gentree5 items 將資料格式化成樹形結構 author xuefen.tong param array items return array function gentree9 items items arr...

PHP遞迴實現無限級分類

在一些複雜的系統中,要求對資訊欄目進行無限級的分類,以增強系統的靈活性。那麼php是如何實現無限級分類的呢?我們在本文中使用遞迴演算法並結合mysql資料表實現無限級分類。在一些複雜的系統中,要求對資訊欄目進行無限級的分類,以增強系統的靈活性。那麼php是如何實現無限級分類的呢?我們在本文中使用遞迴...