PHP如何实现将数据格式化成树形结构
Admin 2022-09-17 群英技术资讯 675 次浏览
在这篇文章中我们来了解一下“PHP如何实现将数据格式化成树形结构”,一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
上代码:
<?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));
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php中Quercus框架:1、概念,Quercus PHP库完全用Java实现,从而带来了同时成为Java和PHP应用程序的好处;2、好处为易于开发、可伸缩性和国际化。
laravel中redis队列监听中断是怎么回事?不少朋友都有遇到过队列监听中断的情况,这究竟是什么原因以及要怎么解决呢?我们能够从以下几个步骤入手:
今天小编就为大家分享一篇解决在laravel中auth建立时候遇到的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
preg_match_all 函数: int preg_match_all ( string pattern, string subject, array matches [, int flags] )执行一个全局正则表达式匹配在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 f...
本篇文章小编给大家分享一下Python类与实例代码使用解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008