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

5年以前  |  阅读数:818 次  |  编程语言: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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例