欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP 无限分类table转div

程序员文章站 2022-05-17 14:29:23
...
参考网址
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\n";		echo "".$n."|--".$class_arr[$i]['className'].$m."
\n";		echo "\n";					dafenglei_arr($m+1,$class_arr[$i]['classid']);		}			}	}



输出的格式为

栏目1
栏目1-1
栏目1-2
栏目1-3
栏目1-3-1




现在想转换成



回复讨论(解决方案)

请你给出测试数据

http://bbs.csdn.net/topics/390398703 跟这个帖子结合下...

就是个无限分类 他这个无限分类是按table显示的 在td前面加空格 来区分 一级二级栏目的

我想用div 实现

Array
(
[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

)

)


差不多 就这数据

function add_($num){
$str='';
for($i=1;$i $str.='  ';
}
return $str;
}
function tree($_arr,$i=-1){
$_tree='';
$i++;
foreach ($_arr as $_key => $_value){
if(is_array($_value)){
$_tree.=add_($i).$_key.'
';
$_tree.=tree($_value,$i);
}else{
$_tree.=add_($i).$_key.'=>'.$_value.'
';
}
}
return $_tree;
}
试试这两个函数,再自加点HTML标签。

$ar = array (  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 '
    ';foreach($ar as $item) { if($item['classfid'] == 0) $deep = 0; $t = substr_count($item['classname'], '-'); if($t
'; if($t > $deep) echo '
    '; echo '
  • '.$item['classname']; $deep = $t;}while($deep--) echo '
';
  • 栏目一
    • 栏目1-1
      • 栏目1-1-1

    可能提供的数据不全 不是按照“-”号区分的

    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] =>         ))


    得到的应该是这种结果


    我想把上面的结果转换成


    
    
    

    这种div+CSS的 无限分类形式