|
上代码:
<?php
/**
* 将数据格式化成树形结构
* @author Xuefen.Tong
* @param array $items
* @return array
*/
function genTree5($items) {
foreach ($items as $item){
$items[$item[&#39;pid&#39;]][&#39;son&#39;][$item[&#39;id&#39;]] = &$items[$item[&#39;id&#39;]];
}
return isset($items[0][&#39;son&#39;]) ? $items[0][&#39;son&#39;] : array();
}
function genTree9($items) {
$tree = array(); //格式化好的树
foreach ($items as $item)
if (isset($items[$item[&#39;pid&#39;]]))
$items[$item[&#39;pid&#39;]][&#39;son&#39;][] = &$items[$item[&#39;id&#39;]];
else
$tree[] = &$items[$item[&#39;id&#39;]];
return $tree;
}
// 测试代码:
$items = array(
=> array(&#39;id&#39; => 6, &#39;pid&#39; => 4, &#39;name&#39; => &#39;香坊区&#39;),
=> array(&#39;id&#39; => 1, &#39;pid&#39; => 0, &#39;name&#39; => &#39;江西省&#39;),
=> array(&#39;id&#39; => 2, &#39;pid&#39; => 0, &#39;name&#39; => &#39;黑龙江省&#39;),
=> array(&#39;id&#39; => 3, &#39;pid&#39; => 1, &#39;name&#39; => &#39;南昌市&#39;),
=> array(&#39;id&#39; => 4, &#39;pid&#39; => 2, &#39;name&#39; => &#39;哈尔滨市&#39;),
// 5 => array(&#39;id&#39; => 5, &#39;pid&#39; => 2, &#39;name&#39; => &#39;鸡西市&#39;),
//
=> array(&#39;id&#39; => 7, &#39;pid&#39; => 4, &#39;name&#39; => &#39;南岗区&#39;),
// 8 => array(&#39;id&#39; => 8, &#39;pid&#39; => 6, &#39;name&#39; => &#39;和兴路&#39;),
// 9 => array(&#39;id&#39; => 9, &#39;pid&#39; => 7, &#39;name&#39; => &#39;西大直街&#39;),
// 10 => array(&#39;id&#39; => 10, &#39;pid&#39; => 8, &#39;name&#39; => &#39;东北林业大学&#39;),
// 11 => array(&#39;id&#39; => 11, &#39;pid&#39; => 9, &#39;name&#39; => &#39;哈尔滨工业大学&#39;),
// 12 => array(&#39;id&#39; => 12, &#39;pid&#39; => 8, &#39;name&#39; => &#39;哈尔滨师范大学&#39;),
// 13 => array(&#39;id&#39; => 13, &#39;pid&#39; => 1, &#39;name&#39; => &#39;赣州市&#39;),
// 14 => array(&#39;id&#39; => 14, &#39;pid&#39; => 13, &#39;name&#39; => &#39;赣县&#39;),
// 15 => array(&#39;id&#39; => 15, &#39;pid&#39; => 13, &#39;name&#39; => &#39;于都县&#39;),
// 16 => array(&#39;id&#39; => 16, &#39;pid&#39; => 14, &#39;name&#39; => &#39;茅店镇&#39;),
// 17 => array(&#39;id&#39; => 17, &#39;pid&#39; => 14, &#39;name&#39; => &#39;大田乡&#39;),
// 18 => array(&#39;id&#39; => 18, &#39;pid&#39; => 16, &#39;name&#39; => &#39;义源村&#39;),
// 19 => array(&#39;id&#39; => 19, &#39;pid&#39; => 16, &#39;name&#39; => &#39;上坝村&#39;),
);
echo &#34;<pre>&#34;;
print_r(genTree5($items));以上内容希望帮助到大家,更多PHP大厂PDF面试文档,PHP进阶架构视频资料,PHP精彩好文免费获取可以关注公众号:PHP开源社区,或者访问:
2021金三银四大厂面试真题集锦,必看!
四年精华PHP技术文章整理合集——PHP框架篇
四年精华PHP技术文合集——微服务架构篇
四年精华PHP技术文合集——分布式架构篇
四年精华PHP技术文合集——高并发场景篇
四年精华PHP技术文章整理合集——数据库篇, |
|