This article describes how to use php to generate an unlimited topic tree. This article describes how to use php to generate an unlimited topic tree.
Column array:
$ Arr = Array (
Array ('CID' => 2, 'cname' => 'news', 'pid' => 0 ),
Array ('CID' => 4, 'cname' => 'Sports ', 'pid' => 0 ),
Array ('CID' => 5, 'cname' => 'play', 'pid' => 0 ),
Array ('CID' => 7, 'cname' => 'hot News ', 'pid' => 2 ),
Array ('CID' => 8, 'cname' => 'niche News ', 'pid' => 2 ),
Array ('CID' => 9, 'cname' => 'folk News ', 'pid' => 8 ),
);
2, 'cname' => 'news', 'pid '=> 0), Array ('CID' => 4, 'cname' => 'sport ', 'pid' => 0), Array ('CID' => 5, 'cname' => 'enter', 'pid' => 0 ), array ('CID' => 7, 'cname' => 'hot News ', 'pid' => 2), Array ('CID' => 8, 'cname' => 'niche News ', 'pid' => 2), Array ('CID' => 9, 'cname' => 'folk News ', 'pid '=> 8),); function formatTree ($ array, $ pid = 0, $ level = 1, $ field = array ('pid' => 'pid ', 'id' => 'id', 'Children '=> 'Children') {$ arr = array (); foreach ($ array as & $ v) {if ($ v [$ field ['pid '] = $ pid) {$ v ['level'] = $ level; $ tem = formatTree ($ array, $ v [$ field ['id'], $ v ['level'] + 1, $ field ); // determine whether a sub-array exists. $ tem & $ v [$ field ['Children '] = $ tem; $ arr [] = $ v ;}} return $ arr;} $ tree = formatTree ($ arr, $ field = array ('pid' => 'pid', 'id' => 'CID ', 'Children '=> 'Children'); echo'';print_r( $tree);?>
The above describes how to use php to generate an unlimited topic tree. For more information, see other related articles in the first PHP community!