程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 生成樹型結構(比如省市區),樹型結構省市區

生成樹型結構(比如省市區),樹型結構省市區

編輯:關於PHP編程

生成樹型結構(比如省市區),樹型結構省市區



<?php header("Content-type: text/html; charset=utf-8"); function generateTree($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; }
//需要注意的一點,數組的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 "<pre>"; print_r(generateTree($items));

 

上面方法的優化:

<?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 "<pre>"; print_r(generateTree($items)); View Code

 

結果:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved