php简单实现无限分类树形列表的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php简单实现无限分类树形列表的方法。分享给大家供大家参考。具体如下:

$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' => 2, 'name' => '哈尔滨市'),
  5 => array('id' => 5, 'pid' => 2, 'name' => '鸡西市'), 
  6 => array('id' => 6, 'pid' => 4, 'name' => '香坊区'), 
  7 => 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' => '上坝村'), 
  20 => array('id' => 20, 'pid' => 0, 'name' => '广东省'), 
  21 => array('id' => 21, 'pid' => 20, 'name' => '广州市'),
); 
$t = array(); 
foreach ($items as $id => $item) { 
  if ($item['pid']) { 
    $items[$item['pid']][$item['id']] = &$items[$item['id']];
    $t[] = $id; 
  } 
} 
foreach($t as $u) { 
  unset($items[$u]); 
} 
echo "<pre>"; 
print_r($items);

希望本文所述对大家的php程序设计有所帮助。

相关文章

php实现比较两个字符串日期大小的方法

本文实例讲述了php实现比较两个字符串日期大小的方法。分享给大家供大家参考。具体如下: <?php function dateBDate($date1, $date2)...

[企业公众号]升级到[企业微信]之后发送消息失败的解决方法

本文实例讲述了[企业公众号]升级到[企业微信]之后发送消息失败的解决方法。分享给大家供大家参考,具体如下: 最近,看到消息,说是微信把企业公众号升级到企业微信。当时并没有在意,但是后来发...

优化PHP代码技巧的小结

优化PHP代码技巧的小结1. 如果一个方法能被静态,那就声明他为静态的,速度可提高 1/4;2. echo 的效率高于 print,因为 echo 没有返回值,print 返回一个整型;...

yii框架源码分析之创建controller代码

使用yii框架的url路径一般形如hostname/?r=xxxx/xxxx/xxxx&sdfs=dsfdsf 我们可以看到有时会使用protected目录下的controller,有时...

PHP的拦截器实例分析

本文实例讲述了PHP的拦截器用法。分享给大家供大家参考。具体如下: PHP提供了几个拦截器,用于在访问未定义的方法和属性时被调用,如下所示: 1、__get($property) 功能:...