无限分类树形结构

参考了某个哥们(不好意思,忘记叫什么了)的写法。稍微改了一下。不过思路都是一样的。

<?php
  function makeTree($array)
  {
  	 $tree = array();//最后的树型结构
  	 //开始循环判断,如果为顶级,则传址进入树形结构
  	 //否则,则放入上一级结构内
  	 foreach($array as $arr)
  	 {
  	 	//var_dump($arr['pid']!=0);
  	 	if($arr['pid']!=0)
  	 	{
  	 		$array[$arr['pid']-1]['son'][] = &$array[$arr['id']-1];
  	 	}
  	 	else
  	 	{
  	 		$tree[] = &$array[$arr['id']-1];
  	 	}
  	 	
  	 }
  	return $tree;	
  }
  $array = array(
  		array('id'=>1,'pid'=> 0,'name'=>'1J'),
  		array('id'=>2,'pid'=> 1,'name'=>'2J'),
  		array('id'=>3,'pid'=> 2,'name'=>'3J'),
  		array('id'=>4,'pid'=> 0,'name'=>'1J'),
  		array('id'=>5,'pid'=> 2,'name'=>'3J'),
  		array('id'=>6,'pid'=> 3,'name'=>'4J'),
  		);
  echo '<pre>';
  print_r(makeTree($array));
  echo '</pre>';

转载于:https://my.oschina.net/feek/blog/66754

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值