Array reorganization
#原数组
$list = Array (
0=>array (' Mid ' =>1, ' menu ' = ' M1 ', ' Level ' =>1, ' belong ' =>0, ' higher ' = ' A1 '),
1=>array (' Mid ' =>1, ' menu ' = ' M1 ', ' Level ' =>1, ' belong ' =>0, ' higher ' = ' A2 '),
2=>array (' Mid ' =>1, ' menu ' = ' M1 ', ' Level ' =>1, ' belong ' =>0, ' higher ' = ' A3 '),
3=>array (' Mid ' =>2, ' menu ' = ' m2 ', ' Level ' =>1, ' belong ' =>0, ' higher ' = ') ',
4=>array (' Mid ' =>3, ' menu ' = ' m3 ', ' Level ' =>1, ' belong ' =>0, ' higher ' = ') ',
5=>array (' Mid ' =>4, ' menu ' = ' M4 ', ' Level ' =>1, ' belong ' =>0, ' higher ' = ' D1 '),
6=>array (' Mid ' =>5, ' menu ' = ' M5 ', ' Level ' =>1, ' belong ' =>0, ' higher ' = ' E1 '),
7=>array (' Mid ' =>5, ' menu ' = ' M5 ', ' Level ' =>1, ' belong ' =>0, ' higher ' = ' E2 ')
);
#从原数组中提取新数组
$MENUARR = Array (
0=>array (' Mid ' =>1, ' main ' = ' M1 ', ' Child ' =>array (' A1 ', ' A2 ', ' A3 ')),
1=>array (' Mid ' =>2, ' main ' = ' m2 ', ' child ' = ', '
2=>array (' Mid ' =>3, ' main ' = ' m3 ', ' child ' = ', '
3=>array (' Mid ' =>4, ' main ' = ' M4 ', ' Child ' =>array (' D1 ')),
4=>array (' Mid ' =>5, ' main ' = ' M5 ', ' Child ' =>array (' E1 ', ' E2 '),
);
#自己搞半天搞晕了:
$sign = null;
$n = 0;
$MENUARR = Array ();
foreach ($list as $men) {
if ($sign = = $men [' mid ']) {
echo "n:{$n}
";
$MENUARR [$men [' mid ']][' main '] = $men [' Menu '];
$MENUARR [$men [' mid ']][' child '] [$n] = $men [' Higher ']; #提示这里不可解析
Array_push ($MENUARR [$men [' mid ']][' child '], $men [' Higher '];
$n + +;
}else{
$n = 0;
$MENUARR [$men [' mid ']][' main '] = $men [' Menu '];
$MENUARR [$men [' mid ']][' child '] = $men [' Higher '];
}
$sign = $men [' mid '];
}
Print_r ($MENUARR);
#帮帮忙 ...
PHP Array
Share to:
------Solution--------------------
$list = Array (
0=>array (' Mid ' =>1, ' menu ' = ' M1 ', ' Level ' =>1, ' belong ' =>0, ' higher ' = ' A1 '),
1=>array (' Mid ' =>1, ' menu ' = ' M1 ', ' Level ' =>1, ' belong ' =>0, ' higher ' = ' A2 '),