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
總結
以上是生活随笔為你收集整理的php把400个数组建二维,请教怎么将多维数组转换为二维数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php toupper,jquery如何
- 下一篇: 航旅贷是哪个平台