登录  /  注册
博主信息
博文 51
粉丝 0
评论 1
访问量 81287
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP部门转成树形
鱼的熊掌
原创
556人浏览过
  1. class Totree{
  2. public function school_totree(){
  3. $list=[
  4. ['id'=>1,'name'=>'学校','pid'=>0],
  5. ['id'=>2,'name'=>'一年级','pid'=>1],
  6. ['id'=>3,'name'=>'1班','pid'=>5],
  7. ['id'=>4,'name'=>'2班','pid'=>2],
  8. ['id'=>5,'name'=>'二年级','pid'=>1],
  9. ['id'=>6,'name'=>'3班','pid'=>5],
  10. ['id'=>7,'name'=>'4班','pid'=>5],
  11. ['id'=>8,'name'=>'4班','pid'=>2],
  12. ];
  13. $res=$this->totree($list,$pid=0,$level=0);
  14. echo '<pre>';
  15. var_dump($res);
  16. }
  17. /**
  18. * @description: 转成树形数据
  19. * @param {*} $list 初始数据
  20. * @param {*} $pid 父id
  21. * @param {*} $level 层级
  22. * @param {*} $pid_name pid字段名称 默认pid
  23. * @param {*} $id_name 主键id 名称
  24. * @return {*}
  25. */
  26. public function totree($list,$pid=0,$level=0,$pid_name='pid',$id_name='id')
  27. {
  28. $arr=[];
  29. $level++;
  30. foreach($list as $k => $v){
  31. if($pid==$v[$pid_name]){
  32. $v['level']=$level;
  33. $v['next']=$this->totree($list,$v[$id_name],$level,$pid_name,$id_name);
  34. $arr[]=$v;
  35. }
  36. }
  37. return $arr;
  38. }
  39. }
  40. /**
  41. * @description: 转成树形显示-
  42. * @param {*} $result 结果
  43. * @param {*} $list 初始数据
  44. * @param {*} $pid 父id
  45. * @param {*} $level 层级
  46. * @param {*} $pid_name pid字段名称 默认pid
  47. * @param {*} $id_name 主键id 名称
  48. * @return {*}
  49. */
  50. public function totreestr($list,$pid=0,$level=0,$pid_name='pid',$id_name='id')
  51. {
  52. $arr=[];
  53. $level++;
  54. foreach($list as $k => $v){
  55. if($pid==$v[$pid_name]){
  56. // $v['level']=$level;
  57. $name_str='';
  58. if($level>1){
  59. for($i=0;$i<$level-1;$i++){
  60. $name_str=$name_str.'▬';
  61. }
  62. }
  63. $v['name']=$name_str.$v['name'];
  64. $arr[]=$v;
  65. $next=$this->totreestr($list,$v[$id_name],$level,$pid_name,$id_name);
  66. if(!empty($next)){
  67. foreach($next as $kk => $vv){
  68. $arr[]=$vv;
  69. }
  70. }
  71. }
  72. }
  73. return $arr;
  74. }
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学