头像

梯归函数

2024-12-18 20:58:12 来源:E819   浏览(129)   评论 ( 0 )   

<?php

$regions = [
    ['id' => 1, 'name' => '北京市', 'parent_id' => 0],
    ['id' => 2, 'name' => '天津市', 'parent_id' => 0],
    ['id' => 3, 'name' => '上海市', 'parent_id' => 0],
    ['id' => 4, 'name' => '广东省', 'parent_id' => 0],
    ['id' => 5, 'name' => '广州市', 'parent_id' => 4],
    ['id' => 6, 'name' => '深圳市', 'parent_id' => 4],
    ['id' => 7, 'name' => '河源市', 'parent_id' => 4],
    ['id' => 8, 'name' => '四川省', 'parent_id' => 0],
    ['id' => 9, 'name' => '长沙市',	'parent_id' => 11],
    ['id' => 10, 'name' => '武汉市', 'parent_id' => 0],
	['id' => 11, 'name' => '湖南省', 'parent_id' => 0],
	['id' => 12, 'name' => '成都市', 'parent_id' => 8],
	['id' => 13, 'name' => '望城区', 'parent_id' => 9],
	['id' => 14, 'name' => '邵阳市', 'parent_id' => 11],
	['id' => 15, 'name' => '岳麓区', 'parent_id' => 9],
	['id' => 16, 'name' => '洞口县', 'parent_id' => 14],
	['id' => 17, 'name' => '岳阳市', 'parent_id' => 11],
	['id' => 18, 'name' => '黄桥镇', 'parent_id' => 16],

];
 
function formatTree($regions, $parent_id = 0, $level = 0, $prefix = '--') {
    $tree = [];
    foreach ($regions as $region) {
        if ($region['parent_id'] == $parent_id) {
            $region['name'] = str_repeat($prefix, $level) . $region['name'];
			$region['depth'] = $level+1;
            $tree[] = $region;
            $tree = array_merge($tree, formatTree($regions, $region['id'], $level + 1, $prefix));
        }
    }
    return $tree;
}
 
$tree = formatTree($regions);
 
foreach ($tree as $region) {
    echo $region['depth'].':'.$region['name'] . '<br>';
}
?>


标签:
声明:转载请注明来源(E819)并保留原文链接:http://www.e819.com/PHP-11780.html
评论0

后面还有条评论,点击查看>>