php把400个数组建二维,请教怎么将多维数组转换为二维数组

请问如何将多维数组转换为二维数组?

比如无限级菜单,通过递归后是一个多维数组,我想把这个多维数组转换为二维数组并重新排序后进行foreach,请问这个function该如何写?

------解决方案--------------------

$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,

)

);

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部