Heim > Backend-Entwicklung > PHP-Tutorial > 生成树型结构(比如省市区),树型结构省市区_PHP教程

生成树型结构(比如省市区),树型结构省市区_PHP教程

WBOY
Freigeben: 2016-07-12 08:51:46
Original
1763 Leute haben es durchsucht

生成树型结构(比如省市区),树型结构省市区

<br /><?<span>php
</span><span>header</span>("Content-type: text/html; charset=utf-8"<span>);

</span><span>function</span> generateTree(<span>$items</span><span>)
{
    </span><span>$tree</span> = <span>array</span><span>();
    </span><span>foreach</span>(<span>$items</span> <span>as</span> <span>$item</span><span>){
        </span><span>if</span>(<span>isset</span>(<span>$items</span>[<span>$item</span>['pid'<span>]])){
            </span><span>$items</span>[<span>$item</span>['pid']]['son'][] = &<span>$items</span>[<span>$item</span>['id'<span>]];
        }</span><span>else</span><span>{
            </span><span>$tree</span>[] = &<span>$items</span>[<span>$item</span>['id'<span>]];
        }
    }
    </span><span>return</span> <span>$tree</span><span>;
}<br />//需要注意的一点,数组的key值必须与id值保持一致
</span><span>$items</span> = <span>array</span><span>(
    </span>1 => <span>array</span>('id' => 1, 'pid' => 0, 'name' => '安徽省'),
    2 => <span>array</span>('id' => 2, 'pid' => 0, 'name' => '浙江省'),
    3 => <span>array</span>('id' => 3, 'pid' => 1, 'name' => '合肥市'),
    4 => <span>array</span>('id' => 4, 'pid' => 3, 'name' => '长丰县'),
    5 => <span>array</span>('id' => 5, 'pid' => 1, 'name' => '安庆市'),<span>
);
</span><span>echo</span> "<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">"<span>;
</span><span>print_r</span>(generateTree(<span>$items</span>));
Nach dem Login kopieren
Nach dem Login kopieren

上面方法的优化:

生成树型结构(比如省市区),树型结构省市区_PHP教程php header("Content-type: text/html; charset=utf-8"); function generateTree($items) { foreach($items as $item) $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']]; return isset($items[0]['son']) ? $items[0]['son'] : array(); } //需要注意的一点,数组的key值必须与id保持一致 $items = array( 1 => array('id' => 1, 'pid' => 0, 'name' => '安徽省'), 2 => array('id' => 2, 'pid' => 0, 'name' => '浙江省'), 3 => array('id' => 3, 'pid' => 1, 'name' => '合肥市'), 4 => array('id' => 4, 'pid' => 3, 'name' => '长丰县'), 5 => array('id' => 5, 'pid' => 1, 'name' => '安庆市'), ); echo "
"<span>;
</span><span>print_r</span>(generateTree(<span>$items</span>));
Nach dem Login kopieren
View Code

 

结果:

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1128373.htmlTechArticle生成树型结构(比如省市区),树型结构省市区 ? php header ("Content-type: text/html; charset=utf-8" ); function generateTree( $items ){ $tree = array (); foreach ( $...
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage