/*
如何把$a转换成$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),
);
php tree
如何把$a转换成$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),
);
php tree
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,
)
);
function imp($tree, $children='childs') {
$imparr = array();
foreach($tree as $w) {
if(isset($w[$children])) {
$t = $w[$children];
unset($w[$children]);
$imparr[] = $w;
if(is_array($t)) $imparr = array_merge($imparr, imp($t, $children));
} else {
$imparr[] = $w;
}
}
return $imparr;
}
print_r(imp($a));Array
(
[0] => Array
(
[categoryid] => 1
[name] => AA1
[parent] => 0
) [1] => Array
(
[categoryid] => 2
[name] => BB1
[parent] => 1
) [2] => Array
(
[categoryid] => 3
[name] => CC
[parent] => 2
) [3] => Array
(
[categoryid] => 4
[name] => dd1
[parent] => 3
) [4] => Array
(
[categoryid] => 5
[name] => dd2
[parent] => 3
) [5] => Array
(
[categoryid] => 6
[name] => BB2
[parent] => 1
) [6] => Array
(
[categoryid] => 7
[name] => AA2
[parent] => 0
))