我解決不了這個問題樹形菜單陣列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