適用於 id
,pid
,name
的表結構。
原理 php
引用。
直接上程式碼:
public function getTree($arr)
{
$items = [];
foreach ($arr as $v)
{
$items[ $v['id'] ] = $v;
}
$tree = [];
foreach ($items as $item)
{
if( isset($items[$item['pid']]) ){
$items[ $item['pid'] ]['children'][] = &$items[$item['id']];
}else{
$tree[] = &$items[$item['id']];
}
}
return $tree;
}
資料格式:
Array
(
[0] => Array
(
[id] => 114
[name] => 一級分類
[pid] => 0
[children] => Array
(
[0] => Array
(
[id] => 125
[name] => 二級分類
[pid] => 114
[children] => Array
(
[0] => Array
(
[id] => 171
[name] => 三級分類
[pid] => 125
)
)
)
[1] => Array
(
[id] => 126
[name] => 二級分類
[pid] => 114
)
)
)
[1] => Array
(
...省略
)
...省略
)
本作品採用《CC 協議》,轉載必須註明作者和本文連結