因此,作为一个例子,我在网站中使用了这种结构。问题是我必须在下拉列表中获取这些项目,但他们必须根据他们的父母来打算。
- loadSubItems(id) 返回 id 的子项。
- loadSubItems(0) 将给出根的子项,在本例中为 9、16、20
- loadSubItems(9) 将给出一个空数组 loadSubItems(16) 将返回 17、18、19
问题在于,只要该级别有子项,中间循环(foreach)就必须继续循环,打印它们并且必须为每个级别添加一个额外的意图“_”。
我已经尝试解决这个问题好几个小时了,但我已经失去了思考,我似乎无法弄清楚必须发生什么才能做到这一点。
欢迎任何帮助!提前致谢:
测试数据如下:
我正在使用以下代码进入第二级:
$items = loadSubItems(0); // returns 9 16 20
$intend = "";
foreach($items as $item) {
$subitems = loadSubItems($item);
if(count($subitems) > 0) {
echo $intend.$item." has subitems: <br />";
$intend .= "_";
foreach($subitems as $subitem) {
echo $intend.$subitem."<br />";
}
} else {
echo "<br />".$item." has no subitems <br />";
}
}
此代码有输出:
9 has no subitems
16 has subitems:
_17
_18
_19
20 has no subitems
编辑:所以我想要的结果是:
9 has no subitems 16 has subitems: _17 __21 ___22 __23 ___24 _18 _19 20 has no subitems