page contents

几行php代码把数据格式化成树形结构

上代码: <?php /** * 将数据格式化成树形结构 * @author Xuefen.Tong * @param array $items * @return array */ function genTree5($items) { foreach ($items as $item){...

上代码:

<?php

/**
 * 将数据格式化成树形结构
 * @author Xuefen.Tong
 * @param array $items
 * @return array
 */
function genTree5($items) {
    foreach ($items as $item){
        $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']];
    }
    return isset($items[0]['son']) ? $items[0]['son'] : array();
}

function genTree9($items) {
    $tree = array(); //格式化好的树
    foreach ($items as $item)
        if (isset($items[$item['pid']]))
            $items[$item['pid']]['son'][] = &$items[$item['id']];
        else
            $tree[] = &$items[$item['id']];
    return $tree;
}

// 测试代码:

        $items = array(
=> array('id' => 6, 'pid' => 4, 'name' => '香坊区'),
=> array('id' => 1, 'pid' => 0, 'name' => '江西省'),
=> array('id' => 2, 'pid' => 0, 'name' => '黑龙江省'),
=> array('id' => 3, 'pid' => 1, 'name' => '南昌市'),
=> array('id' => 4, 'pid' => 2, 'name' => '哈尔滨市'),
//            5 => array('id' => 5, 'pid' => 2, 'name' => '鸡西市'),
//
=> array('id' => 7, 'pid' => 4, 'name' => '南岗区'),
//            8 => array('id' => 8, 'pid' => 6, 'name' => '和兴路'),
//            9 => array('id' => 9, 'pid' => 7, 'name' => '西大直街'),
//            10 => array('id' => 10, 'pid' => 8, 'name' => '东北林业大学'),
//            11 => array('id' => 11, 'pid' => 9, 'name' => '哈尔滨工业大学'),
//            12 => array('id' => 12, 'pid' => 8, 'name' => '哈尔滨师范大学'),
//            13 => array('id' => 13, 'pid' => 1, 'name' => '赣州市'),
//            14 => array('id' => 14, 'pid' => 13, 'name' => '赣县'),
//            15 => array('id' => 15, 'pid' => 13, 'name' => '于都县'),
//            16 => array('id' => 16, 'pid' => 14, 'name' => '茅店镇'),
//            17 => array('id' => 17, 'pid' => 14, 'name' => '大田乡'),
//            18 => array('id' => 18, 'pid' => 16, 'name' => '义源村'),
//            19 => array('id' => 19, 'pid' => 16, 'name' => '上坝村'),
        );

        echo "<pre>";

        print_r(genTree5($items));


以上内容希望帮助到大家

attachments-2020-03-90rcEoMI5e71bc25b820f.jpg

  • 发表于 2020-03-18 14:14
  • 阅读 ( 482 )
  • 分类:PHP开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1135 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1478 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章