PHP数组树形结构转换
/** * 将一维数组转换成树形结构数组 * @param array $items 要进行转换的数组 * return array $tree 转换完成的数组 */ function arrayToTree($items){ $tree = array(); foreach($items as $k=>$item) { if ($item["cat_pid"] == 0) { $tree[] = &$items[$k]; //$items[$item['par_id']]['son'][] = &$items[$item['id']]; } else { foreach($items as $key=>$v){ if ($v['cat_id'] == $item["cat_pid"]) { $items[$key]['son'][] = &$items[$k]; break; } } } } return $tree; } /** * 树形结构数据转换为一维数组输出 */ function TreeToArray($tree,$i=0){ $i++; if (empty($tree)) { return ; } foreach ($tree as $v) { $kong = ''; for($j=1;$j<$i;$j++){ $kong .= '|--'; } $v['name'] = $kong.$v['name']; $son = $v['son']; unset($v['son']); $array[] = $v; if(!empty($son)){ $array = array_merge($array,$this->TreeToArray($son,$i)); } } return $array; }
转自:https://blog.csdn.net/qq_36611673/article/details/79723753
Dcr163的博客
http://dcr163.cn/185.html(转载时请注明本文出处及文章链接)