因此,作为一个例子,我在网站中使用了这种结构。问题是我必须在下拉列表中获取这些项目,但他们必须根据他们的父母来打算。
- 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