<?php
$array = [
['id' => 1, 'pid' => 0, 'name' => '這是主類'],
['id' => 2, 'pid' => 0, 'name' => '這是主類'],
['id' => 3, 'pid' => 1, 'name' => '父級為1子類'],
['id' => 4, 'pid' => 2, 'name' => '父級為2子類'],
['id' => 5, 'pid' => 3, 'name' => '父級為3子類'],
];function tree($array,$pid)
$tree = $v;
} }return $tree;
}echo "" . print_r(tree($array, 0),1) . "
";
?>
列印結果
array
( [0] => array
([id] => 1
[pid] => 0
[name] => 這是主類
[child] => array
([0] => array
([id] => 3
[pid] => 1
[name] => 父級為1子類
[child] => array
([0] => array
([id] => 5
[pid] => 3
[name] => 父級為3子類))
))
)[1] => array
([id] => 2
[pid] => 0
[name] => 這是主類
[child] => array
([0] => array
([id] => 4
[pid] => 2
[name] => 父級為2子類))
))
第二種方式 陣列引用
function generatetree($rows, $id = 'id', $pid = 'pid')
foreach ($items as $item)
return isset($items[0]['son']) ? $items[0]['son'] : array();
}echo "" . print_r(generatetree($array), 1) . "
"; (無限級 非遞迴)樹形分類
記得之前有一次去面試,被問了無限級怎麼做。我想很簡單,就說了最基本的結構 id name parentid。又被問就這樣嗎?顯然不被滿意。後面自然就沒通過面試。遇上技術型面試官,如果問的技術問題不被滿意,大抵就沒有下文了。遇上那些一副老子技術天下第一,狗眼看人低的面試官,那就自認倒霉吧。遇上追問你如...
PHP 無限級分類 遞迴
arr array array id 1,name 電腦 pid 0 array id 2,name 手機 pid 0 array id 3,name 筆記本 pid 1 array id 4,name 台式電腦 pid 1 array id 5,name 智慧型機 pid 2 array id 6...
無限級樹形導航
表 userinfo id id name 導航名稱 superiorid 上級導航id using system using system.collections using system.configuration using system.data using system.linq usin...