参考网址
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']); } } }
输出的格式为
现在想转换成
回复讨论(解决方案)
请你给出测试数据
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 '<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>';
- 栏目一
- 栏目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] => ))
得到的应该是这种结果
我想把上面的结果转换成
<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的 无限分类形式 - 栏目1-1

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

在PHP中,trait适用于需要方法复用但不适合使用继承的情况。1)trait允许在类中复用方法,避免多重继承复杂性。2)使用trait时需注意方法冲突,可通过insteadof和as关键字解决。3)应避免过度使用trait,保持其单一职责,以优化性能和提高代码可维护性。

依赖注入容器(DIC)是一种管理和提供对象依赖关系的工具,用于PHP项目中。DIC的主要好处包括:1.解耦,使组件独立,代码易维护和测试;2.灵活性,易替换或修改依赖关系;3.可测试性,方便注入mock对象进行单元测试。

SplFixedArray在PHP中是一种固定大小的数组,适用于需要高性能和低内存使用量的场景。1)它在创建时需指定大小,避免动态调整带来的开销。2)基于C语言数组,直接操作内存,访问速度快。3)适合大规模数据处理和内存敏感环境,但需谨慎使用,因其大小固定。

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。

JavaScript中处理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。1.??返回第一个非null或非undefined的操作数。2.??=将变量赋值为右操作数的值,但前提是该变量为null或undefined。这些操作符简化了代码逻辑,提高了可读性和性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

记事本++7.3.1
好用且免费的代码编辑器

Dreamweaver CS6
视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具