参考网址
http://www.qunfei.com/htmls/webdevelop/php/2012/0116/819.html
function dafenglei_arr($m,$id)
{
global $class_arr;
global $ppid;
if($id=="") $id=0;
$n = str_pad('',$m,'-',STR_PAD_RIGHT);
$n = str_replace("-"," ",$n);
for($i=0;$i<count($class_arr);$i++){
if($class_arr[$i]['classFID']==$id){
echo "<tr>\n";
echo "<td height=\"28\" class=\"font\">".$n."|--<a href=\"?action=edit&id=".$class_arr[$i]['classid']."\">".$class_arr[$i]['className'].$m."</a></td>\n";
echo "</tr>\n";
dafenglei_arr($m+1,$class_arr[$i]['classid']);
}
}
}
输出的格式为
<tr>
<td> 栏目1</td>
<td> 栏目1-1</td>
<td> 栏目1-2</td>
<td> 栏目1-3</td>
<td> 栏目1-3-1</td>
</tr>现在想转换成<ul id="files">
<li id="m33"><a href="javascript:void(0);" >栏目一</a>
<ul>
<li><a href="/news-p11-pp33-ppp140" ><span class="">栏目1-1</span></a></li>
<li><a href="/news-p11-pp33-ppp141" ><span class="">栏目1-2</span></a></li>
<li><a href="javascript:void(0);" >栏目1-3</a>
<ul>
<li><a href="/news-p11-pp33-ppp140" ><span class="">栏目1-3-1</span></a></li>
</ul>
</li></ul></li>
<li id="m34">...........等类似</li></ul>
(
[2] => Array
(
[classid] => 6
[classfid] => 0
[classname] => 栏目一 ) [1] => Array
(
[id] => 7
[classfid] => 6
[classname] => 栏目1-1 ) [0] => Array
(
[classid] => 10
[classfid] => 7
[classname] => 栏目1-1-1 ))
差不多 就这数据
$str='';
for($i=1;$i<=$num;$i++){
$str.=' ';
}
return $str;
}
function tree($_arr,$i=-1){
$_tree='';
$i++;
foreach ($_arr as $_key => $_value){
if(is_array($_value)){
$_tree.=add_($i).$_key.'<br />';
$_tree.=tree($_value,$i);
}else{
$_tree.=add_($i).$_key.'=>'.$_value.'<br />';
}
}
return $_tree;
}
试试这两个函数,再自加点HTML标签。
2 =>
array (
'classid' => '6',
'classfid' => '0',
'classname' => '栏目一',
),
1 =>
array (
'id' => '7',
'classfid' => '6',
'classname' => '栏目1-1',
),
0 =>
array (
'classid' => '10',
'classfid' => '7',
'classname' => '栏目1-1-1',
),
);echo '<ul>';
foreach($ar as $item) {
if($item['classfid'] == 0) $deep = 0;
$t = substr_count($item['classname'], '-');
if($t < $deep) echo '</li></ul>';
if($t > $deep) echo '<ul>';
echo '<li>'.$item['classname'];
$deep = $t;
}
while($deep--) echo '</li></ul>';
<ul><li>栏目一<ul><li>栏目1-1<ul><li>栏目1-1-1</li></ul></li></ul>
Array
(
[0] => Array
(
[id] => 10
[pid] => 0
[ppid] => 7
[m_title] => 系统分类
[m_flag] => 1
[m_type] => 0
[m_url] =>
[m_lage] => 0
[m_seotitle] =>
[m_seokey] =>
[m_seodesc] =>
[m_sort] => 0
[m_time] => 0000-00-00 00:00:00
) [1] => Array
(
[id] => 9
[pid] => 0
[ppid] => 6
[m_title] => 排序管理
[m_flag] => 0
[m_type] => 0
[m_url] =>
[m_lage] => 0
[m_seotitle] =>
[m_seokey] =>
[m_seodesc] =>
[m_sort] => 0
[m_time] => 0000-00-00 00:00:00
) [2] => Array
(
[id] => 8
[pid] => 0
[ppid] => 6
[m_title] => 登陆日志
[m_flag] => 0
[m_type] => 0
[m_url] =>
[m_lage] => 0
[m_seotitle] =>
[m_seokey] =>
[m_seodesc] =>
[m_sort] => 0
[m_time] => 0000-00-00 00:00:00
) [3] => Array
(
[id] => 7
[pid] => 0
[ppid] => 6
[m_title] => 系统信息
[m_flag] => 0
[m_type] => 0
[m_url] => 11
[m_lage] => 0
[m_seotitle] =>
[m_seokey] =>
[m_seodesc] =>
[m_sort] => 10
[m_time] => 0000-00-00 00:00:00
) [4] => Array
(
[id] => 6
[pid] => 0
[ppid] => 0
[m_title] => 网站管理
[m_flag] => 1
[m_type] => 4
[m_url] => 11
[m_lage] => 1
[m_seotitle] =>
[m_seokey] =>
[m_seodesc] =>
[m_sort] => 10
[m_time] => 0000-00-00 00:00:00
) [5] => Array
(
[id] => 5
[pid] => 0
[ppid] => 2
[m_title] => 文字链接
[m_flag] => 0
[m_type] => 22
[m_url] =>
[m_lage] => 0
[m_seotitle] =>
[m_seokey] =>
[m_seodesc] =>
[m_sort] => 10
[m_time] =>
) [6] => Array
(
[id] => 4
[pid] => 0
[ppid] => 0
[m_title] => 关于我们
[m_flag] => 0
[m_type] => 0
[m_url] =>
[m_lage] => 0
[m_seotitle] =>
[m_seokey] =>
[m_seodesc] =>
[m_sort] => 10
[m_time] =>
) [7] => Array
(
[id] => 1
[pid] => 0
[ppid] => 0
[m_title] => 新闻中心
[m_flag] => 0
[m_type] => 0
[m_url] =>
[m_lage] => 0
[m_seotitle] =>
[m_seokey] =>
[m_seodesc] =>
[m_sort] => 10
[m_time] =>
) [8] => Array
(
[id] => 2
[pid] => 0
[ppid] => 0
[m_title] => 友情链接
[m_flag] => 0
[m_type] => 0
[m_url] =>
[m_lage] => 0
[m_seotitle] =>
[m_seokey] =>
[m_seodesc] =>
[m_sort] => 102
[m_time] =>
))得到的应该是这种结果
我想把上面的结果转换成<ul id="files">
<li id="m33"><a href="javascript:void(0);" >上级文件</a>
<ul><li><a href="/news-p11-pp33-ppp140" ><span class="">运检部</span></a></li>
<li><a href="/news-p11-pp33-ppp141" ><span class="">人劳部</span></a></li>
<li><a href="/news-p11-pp33-ppp142" ><span class="">财务部</span></a></li>
<li><a href="/news-p11-pp33-ppp143" ><span class="">安监部</span></a></li>
<li><a href="/news-p11-pp33-ppp144" ><span class="">后勤部</span></a></li>
</ul></li>
<li id="m34"><a href="javascript:void(0);" >各类制度</a>
<ul><li><a href="/news-p11-pp34-ppp145" ><span class="">检修管理</span></a></li>
<li><a href="/news-p11-pp34-ppp146" ><span class="">运行管理</span></a></li>
<li><a href="/news-p11-pp34-ppp147" ><span class="">安全管理</span></a></li>
<li><a href="/news-p11-pp34-ppp148" ><span class="">综合管理</span></a></li>
<li><a href="/news-p11-pp34-ppp149" ><span class="">培训管理</span></a></li>
<li><a href="/news-p11-pp34-ppp150" ><span class="">科技管理</span></a></li>
</ul></li>
</ul>
这种div+CSS的 无限分类形式