TypechoJoeTheme

Dcr163的博客

统计

PHP数组树形结构转换

2018-08-03
/
0 评论
/
1,720 阅读
/
正在检测是否收录...
08/03
/**
 * 将一维数组转换成树形结构数组
 * @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

朗读
赞(0)
版权属于:

Dcr163的博客

本文链接:

http://dcr163.cn/185.html(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去天
本月已经过去天
今年已经过去个月

最新回复

  1. blowjob
    2026-07-19
  2. バイナリー 取引ツール
    2026-07-11
  3. http://www.annunciogratis.net/author/oevsandra54
    2026-05-31
  4. web page
    2026-04-10
  5. plenty of insightful
    2026-03-19

标签云