标签:style c class blog code java
1 /** 2 * 把返回的数据集转换成Tree 3 * @param array $list 要转换的数据集 4 * @param string $pid parent标记字段 5 * @param string $level level标记字段 6 * @return array 7 */ 8 function list_to_tree($list, $pk=‘id‘, $pid = ‘pid‘, $child = ‘_child‘, $root = 0) 9 { 10 // 创建Tree 11 $tree = array(); 12 if(is_array($list)) { 13 // 创建基于主键的数组引用 14 $refer = array(); 15 foreach ($list as $key => $data) { 16 $refer[$data[$pk]] =& $list[$key]; 17 } 18 foreach ($list as $key => $data) { 19 // 判断是否存在parent 20 $parentId = $data[$pid]; 21 if ($root == $parentId) { 22 $tree[] =& $list[$key]; 23 }else{ 24 if (isset($refer[$parentId])) { 25 $parent =& $refer[$parentId]; 26 $parent[$child][] =& $list[$key]; 27 } 28 } 29 } 30 } 31 return $tree; 32 }
很不错!性能应该很高
标签:style c class blog code java
原文地址:http://www.cnblogs.com/mk9007/p/3746523.html