本帖最后由 bing15 于 2013-02-02 14:07:19 编辑

解决方案 »

  1.   

    <?
    $arr = array(
         
        array('id'=>1,'city_name'=>'中国','rel_id'=>'1','pid'=>0),
        array('id'=>2,'city_name'=>'广东','rel_id'=>'1-2','pid'=>1),
        array('id'=>3,'city_name'=>'深圳','rel_id'=>'1-2-3','pid'=>2),
        array('id'=>4,'city_name'=>'广州','rel_id'=>'1-2-4','pid'=>2)
        
    );
     
    function find_subclass( $pid ){
         
        global $arr;
        $__arr = array();
        foreach ( $arr as $k=>$v )
        {
             
            if( $v['pid']==$pid )$__arr[] = $v;
             
        }
        return $__arr;
         
    }
     
    function tree_subclass($pid=0){
         
        $__arr = array();
        $__arr = find_subclass($pid);
        if( !empty($__arr) ){
             
            foreach ( $__arr as $k=>$v )
            {
     
                $__arr[$k]['subclass'] = tree_subclass($v['id']);
                 
            }
             
        }
        return $__arr;
    }
     
    var_dump(tree_subclass(0));
     
    ?>
      

  2.   

    你将你的数据表列名reid改成pid。查询出来是一个二维数组;将$arr = 查询出来的数据(mysql_fetch_array)  套上即可。
      

  3.   

    http://bbs.csdn.net/topics/390364669