$ar = array (
0 =>
array (
'id' => '1',
'title' => '一级菜单AA',
'pid' => '0',
'sort' => '10',
'ptitle' => '--',
),
1 =>
array (
'id' => '5',
'title' => '一级菜单BB',
'pid' => '0',
'sort' => '50',
'ptitle' => '--',
),
2 =>
array (
'id' => '2',
'title' => '二级菜单a1',
'pid' => '1',
'sort' => '20',
'ptitle' => '--',
),
3 =>
array (
'id' => '3',
'title' => '二级菜单a2',
'pid' => '1',
'sort' => '30',
'ptitle' => '--',
),
4 =>
array (
'id' => '4',
'title' => '二级菜单b1',
'pid' => '1',
'sort' => '60',
'ptitle' => '--',
),
5 =>
array (
'id' => '6',
'title' => '二级菜单b2',
'pid' => '5',
'sort' => '40',
'ptitle' => '--',
),
);
foreach($ar as $v) $sort[] = $v['sort'];
array_multisort($sort, $ar);
$res = array();
foreach(array_filter($ar, create_function('$a', "return \$a['pid'] == '0';")) as $x) {
$res[] = $x;
foreach(array_filter($ar, create_function('$a', "return \$a['pid'] == '$x[id]';")) as $y) {
$y['ptitle'] = $x['title'];
$res[] = $y;
}
}
print_r($res);Array
(
[0] => Array
(
[id] => 1
[title] => 一级菜单AA
[pid] => 0
[sort] => 10
[ptitle] => --
) [1] => Array
(
[id] => 2
[title] => 二级菜单a1
[pid] => 1
[sort] => 20
[ptitle] => 一级菜单AA
) [2] => Array
(
[id] => 3
[title] => 二级菜单a2
[pid] => 1
[sort] => 30
[ptitle] => 一级菜单AA
) [3] => Array
(
[id] => 4
[title] => 二级菜单b1
[pid] => 1
[sort] => 60
[ptitle] => 一级菜单AA
) [4] => Array
(
[id] => 5
[title] => 一级菜单BB
[pid] => 0
[sort] => 50
[ptitle] => --
) [5] => Array
(
[id] => 6
[title] => 二级菜单b2
[pid] => 5
[sort] => 40
[ptitle] => 一级菜单BB
))
0 =>
array (
'id' => '1',
'title' => '一级菜单AA',
'pid' => '0',
'sort' => '10',
'ptitle' => '--',
),
1 =>
array (
'id' => '5',
'title' => '一级菜单BB',
'pid' => '0',
'sort' => '50',
'ptitle' => '--',
),
2 =>
array (
'id' => '2',
'title' => '二级菜单a1',
'pid' => '1',
'sort' => '20',
'ptitle' => '--',
),
3 =>
array (
'id' => '3',
'title' => '二级菜单a2',
'pid' => '1',
'sort' => '30',
'ptitle' => '--',
),
4 =>
array (
'id' => '4',
'title' => '二级菜单b1',
'pid' => '1',
'sort' => '60',
'ptitle' => '--',
),
5 =>
array (
'id' => '6',
'title' => '二级菜单b2',
'pid' => '5',
'sort' => '40',
'ptitle' => '--',
),
);
foreach($ar as $v) $sort[] = $v['sort'];
array_multisort($sort, $ar);
$res = array();
foreach(array_filter($ar, create_function('$a', "return \$a['pid'] == '0';")) as $x) {
$res[] = $x;
foreach(array_filter($ar, create_function('$a', "return \$a['pid'] == '$x[id]';")) as $y) {
$y['ptitle'] = $x['title'];
$res[] = $y;
}
}
print_r($res);Array
(
[0] => Array
(
[id] => 1
[title] => 一级菜单AA
[pid] => 0
[sort] => 10
[ptitle] => --
) [1] => Array
(
[id] => 2
[title] => 二级菜单a1
[pid] => 1
[sort] => 20
[ptitle] => 一级菜单AA
) [2] => Array
(
[id] => 3
[title] => 二级菜单a2
[pid] => 1
[sort] => 30
[ptitle] => 一级菜单AA
) [3] => Array
(
[id] => 4
[title] => 二级菜单b1
[pid] => 1
[sort] => 60
[ptitle] => 一级菜单AA
) [4] => Array
(
[id] => 5
[title] => 一级菜单BB
[pid] => 0
[sort] => 50
[ptitle] => --
) [5] => Array
(
[id] => 6
[title] => 二级菜单b2
[pid] => 5
[sort] => 40
[ptitle] => 一级菜单BB
))
解决方案 »
- 想要输出图片,结果输出了乱码,请问什么原因?
- java 能显示数学式子吗
- 请问当用户非正常退出时,如何册除在线列表里的记录?
- 求救啊,mysql数据无缘无故消失,请高手指点原因
- apache2+PHP5的问题,怀疑是配置问题,大家帮帮我
- 这样做法的可信任程度多少的?
- 我安装了Apache 服务器,监听端口为 8080 。我想在多建几个监听端口,8081、8082、怎么设置???
- help!我用PHP读写了一个.txt文件,但是不晓得该怎么对文件换行处理?谢谢!
- 问个关于取得客户端信息的问题。
- 问一个很菜的问题
- thinkphp中图片处理
- select下拉框的值传入jquery,并用ajax传到另一个php页面,老是传不过去。
如果直接用 sql 查询,得到这样的结果,是否更简单?
求sql语句