用户名: 密码: 忘记密码? 注册
收藏此问题 发表新评论

请问php树数组转换成列表数组如何转换


/*
  如何把$a转换成$b的格式
*/
<?php
/*How to tree data format to list data in php,$a format to $b*/
$a = array(
    0=>array(
            'categoryid'=>1,
            'name'=>"AA1",
            'parent'=>0,
                'childs'=>array(
                   0=>array(
                    'categoryid'=>2,
                        'name'=>"BB1",
                        'parent'=>1,
                        'childs'=>array(
                            0=>array(
                                        'categoryid'=>3,
                                        'name'=>"CC",
                                        'parent'=>2,
                                        'childs'=>array(
                                           0=>array(
                                             'categoryid'=>4,
                                                 'name'=>"dd1",
                                                 'parent'=>3,
                                                 
                                           ),
                                           1=>array(
                                             'categoryid'=>5,
                                                 'name'=>"dd2",
                                                 'parent'=>3,
                                                 
                                           )
                                        )
                                )
                         )
                   ),
                   1=>array(
                    'categoryid'=>6,
                        'name'=>"BB2",
                        'parent'=>1,
                         
                   )
                 )
        ),
        1=>array(
            'categoryid'=>7,
            'name'=>"AA2",
            'parent'=>0,
            
        )
);

/*
  如何把$a转换成$b的格式
*/

  $b = array(
     0=>array('id'=>1,'name'=>"AA1",'parent'=>0),
     1=>array('id'=>2,'name'=>"BB1",'parent'=>0),
     2=>array('id'=>3,'name'=>"CC" ,'parent'=>0),
     3=>array('id'=>4,'name'=>"dd1",'parent'=>0),
     4=>array('id'=>5,'name'=>"dd2",'parent'=>0),
     5=>array('id'=>6,'name'=>"BB2",'parent'=>0),
     6=>array('id'=>7,'name'=>"AA2",'parent'=>0),
  );


昵称: winlia520  时间: 2013-06-09 10:52:22
function mainTop($array) {
                static $result = array();
                foreach ($array as $key => $item) {
                        if (is_array($item)) {
                                $result[] = array(
                                                'id' => $item['categoryid'],
                                                'name' => $item['name'],
                                                'parent' => $item['parent'],
                                );
                        }
                        if (isset($item['childs'])) {
                      self::mainTop($item['childs']);
                        }
                }
                return $result;
        }
昵称: tinytail  时间: 2013-06-09 17:18:30
发表评论
昵称:
内容:
验证: