PHP如何实现将数据格式化成树形结构
Admin 2022-09-17 群英技术资讯 1214 次浏览
在这篇文章中我们来了解一下“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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
nginx部署php7项目的方法:1、通过install安装nginx和php7;2、拷贝laravel工程到指定目录并修改配置文档;3、重启nginx即可。
在PHP5.4以前,我们可以通过APC提供的功能来实现.或者使用PECL扩展uploadprogress来实现.虽然说,它们能很好的解决现在的问题,但是也有很明显的不足:1.他们都需要额外安装(我们并没有打算把APC加入PHP5.4)2.它们都使用本地机制来存储这些信息,APC使用共享内存,而uploadprogress使用文件系统(不考虑NFS),这在多台前端机的时候
首先,打开phpstorm编辑器,新建php文件,例如:index.php,填充问题基础代码。键盘按ctrl+r键,调出替换工具,例如输入原字符串abcd,目标字符串hello,点击“Replace all”按钮。
本文实例讲述了PHP设计模式:原型模式Prototype。分享给大家供大家参考,具体如下:
php代码如何调试?对PHP代码进行调试可以说是一名程序员必须掌握掌握度的,那么究竟php代码调试包括哪些呢?都有哪些方法?下面我们一起来看一下。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008