在 PHP 中创建无限的无序列表


Create unlimited unordered list in PHP

我正在尝试从MySQL生成的数据中创建树。

这个问题以前有人问过,但实际上是关于创建数组的。所以数组创建得很好。我正在使用这个问题的答案。

这是我得到的数组:

Array
(
    [0] => Array
        (
            [employee_id] => 1
            [organization_id] => 1
            [parent_organization_id] => 0
            [full_name] => Mohammad Salim Khan
            [employee_order] => 1
            [children] => Array
                (
                    [0] => Array
                        (
                            [employee_id] => 2
                            [organization_id] => 2
                            [parent_organization_id] => 1
                            [full_name] => Ali Khan
                            [employee_order] => 2
                            [children] => Array
                                (
                                    [0] => Array
                                        (
                                            [employee_id] => 5
                                            [organization_id] => 4
                                            [parent_organization_id] => 2
                                            [full_name] => Nadeem Khan
                                            [employee_order] => 3
                                            [children] => Array
                                                (
                                                    [0] => Array
                                                        (
                                                            [employee_id] => 7
                                                            [organization_id] => 5
                                                            [parent_organization_id] => 4
                                                            [full_name] => Sajjad Ali
                                                            [employee_order] => 4
                                                        )
                                                )
                                        )
                                )
                        )
                    [1] => Array
                        (
                            [employee_id] => 3
                            [organization_id] => 3
                            [parent_organization_id] => 1
                            [full_name] => Kamran Durrani
                            [employee_order] => 2
                        )
                )
        )
)

但我坚持将这些数据放在<ul>/<li>列表中。

怎样才能把它放在无序列表中,以便我得到这样的列表:

<ul>
<li>Mohammad Salim Khan</li>
<ul>
//1
<li>Ali Khan</li>
<ul>
<li>Nadeem Khan</li>
<ul><li>Sajjad Ali</li></ul>
//2
<li>Kamran Durrani</li>
</ul>
</ul>

更新:

  • 穆罕默德·萨利姆·汗
    • 阿里汗
      • 纳迪姆汗
        • 萨贾德·阿里
    • 卡姆兰·杜兰尼

这变得非常令人困惑,因为李氏有无限的可能性。

这是递归(调用自身的函数(的情况。从 $myLIst 中的列表开始:

function showList ($myList)
{
    echo "<ul>";
    foreach ($myList as $row)
    {
        echo ("<li>{$row ['full_name']}</li>'n");
        if  (isset ($row ['children']))
            showList ($row ['children']);
    }
    echo "</ul>'n";
}