PHP:从数组生成类别/子类别UL列表?
我有一个由“Category”对象填充的数组,每个对象都包含一个id和一个parent_id值。它们的访问方式如下:PHP:从数组生成类别/子类别UL列表?,php,Php,我有一个由“Category”对象填充的数组,每个对象都包含一个id和一个parent_id值。它们的访问方式如下: $category->get("id"); //gets category id $category->get("parent_id"); gets parent category id <ul> <li>Category</li> <li>Category <ul>
$category->get("id"); //gets category id
$category->get("parent_id"); gets parent category id
<ul>
<li>Category</li>
<li>Category
<ul>
<li>Child Category</li>
<li>Child Category</li>
<li>Child Category
<ul>
<li>Child Category</li>
<li>Child Category</li>
<li>Child Category</li>
</ul>
</li>
</ul>
</li>
<li>Category</li>
<li>Category</li>
<li>Category</li>
<li>Category</li>
</ul>
我想制作一个HTML UL列表,如下所示:
$category->get("id"); //gets category id
$category->get("parent_id"); gets parent category id
<ul>
<li>Category</li>
<li>Category
<ul>
<li>Child Category</li>
<li>Child Category</li>
<li>Child Category
<ul>
<li>Child Category</li>
<li>Child Category</li>
<li>Child Category</li>
</ul>
</li>
</ul>
</li>
<li>Category</li>
<li>Category</li>
<li>Category</li>
<li>Category</li>
</ul>
- 类别
- 类别
- 子类别
- 子类别
- 子类别
- 子类别
- 子类别
- 子类别
- 类别
- 类别
- 类别
- 类别
必须执行何种类型的循环才能生成此文件?MPTT树逻辑可能会很有用
在不知道您使用的是什么库的情况下,它将更多地是一个伪代码,而不是工作代码,但您应该了解如何使用递归来获取树 首先检索主类别(例如,您可以设置为类别0为顶级类别。然后循环遍历所有项并获取子项。如果节点有子项,则递归调用自身
showCategory($rootcategory)
function showCategory($category) {
$children=fetchChildren();
if($children) //if category has children
{
echo('<ul>');
foreach($children as $child) {
showCategory($child);
}
echo('</ul>');
}
else {
echo('<li>' . $child['title'] . '</li>');
}
}
showCategory($rootcategory)
函数showCategory($category){
$children=fetchChildren();
if($children)//如果类别有子类
{
回声(“”);
foreach($childrenas$child){
展示类别(儿童);
}
回声(“
”);
}
否则{
回音(“”.$child['title']. ”);
}
}
“要生成这个循环,必须做什么样的循环?”---递归循环你试过用递归
术语搜索吗?