我解决不了这个问题树形菜单阵列PHP
Array
(
[0] => Array
(
[id] => 1
[menu] => shoes
[anchor] => Shoes
[parent] => 0
)
[1] => Array
(
[id] => 2
[menu] => futsal-shoes
[anchor] => Futsal Shoes
[parent] => 1
)
[2] => Array
(
[id] => 3
[menu] => lamps
[anchor] => Lamps
[parent] => 0
)
[3] => Array
(
[id] => 4
[menu] => desk-lamps
[anchor] => Desk Lamps
[parent] => 3
)
[4] => Array
(
[id] => 5
[menu] => floor-lamps
[anchor] => Floor Lamps
[parent] => 3
)
[5] => Array
(
[id] => 6
[menu] => swing-arm-lamps
[anchor] => Swing Arm Lamps
[parent] => 4
)
)
该功能显示所有阵列
function has_children($rows,$id) {
foreach ($rows as $row) {
if ($row['parent'] == $id)
return true;
}
return false;
}
function build_menu($rows,$parent=0) {
$result = "<ul>";
foreach ($rows as $row) {
if ($row['parent'] == $parent) {
$result .= "<li><a href=\"$row[menu]\">$row[anchor]</a>";
if (has_children($rows,$row['id']))
$result.= build_menu($rows,$row['id']);
$result .= "</li>";
}
}
$result.= "</ul>";
return $result;
}
echo build_menu($array);
我需要从
页只显示相关的树状菜单,如果GET类别=灯
或GET子类别=落地灯
或GET sub_subcategory =摇臂灯
他们只显示相关的(不是所有的数组)
<ul>
<li><a href="">Lamps</a>
<ul>
<li><a href="">Desk Lamps</a></li>
<ul>
<li><a href="">Swing Arm Lamps</a></li>
</ul>
<li><a href="">Floor Lamps</a></li>
</ul>
</ul>
任何人帮助我。
谢谢回答larsAnders,我已经试过你的代码 这项工作 GET落地灯及获得摇臂灯 但不包括灯 当我尝试GET灯,该代码显示所有的数组 我将使用此原则再次尝试 – Tsan
在您的数组中,灯的父级设置为0,因此它将显示整个数组。如果更改数组中的父项,则它将显示较少。 – larsAnders