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(转载时请注明本文出处及文章链接)