如何在PHP的<select>下拉菜单中显示父子多维数组?

时间:2019-01-09 10:12:25

标签: php html multidimensional-array

我在数据库中有这样的记录: | ------------------------------------------------- --------- | | id | title_zh | uid | parent_id | | ------------------------------------------------- --------- | | 1 |食物| ehek330pdldie827 | 0 | | ------------------------------------------------- --------- | | 2 |美食| 8393kdo02o923awi20 | 0 | | ------------------------------------------------- --------- | | 3 |快餐| ri29jnwu29823urns0 | 1 | | ------------------------------------------------- --------- | | 4 |英式| eo301ks8292ke9202ms | 2 | | ------------------------------------------------- --------- | | 5 |中文| yh39kj201203msik7e | 2 | | ------------------------------------------------- --------- | | 6 |户外| hsuw8920slsl7729kj | 0 | | ------------------------------------------------- --------- | 我正在以数组格式获取数据,然后为父子关系创建多维数组。 公共功能build_tree(array $ array,$ parent_id = 0,$ visibility_for = Globals :: COLLAPSIBLE_TREE) {     $ branch = array();     foreach($ array作为$ element)     {         //遍历列表的每个项目         如果($ element ['parent_id'] == $ parent_id)         {             //如果父ID匹配,则继续获取子ID             $ children = $ this-> build_tree($ array,$ element ['id']); //取得孩子             如果($ children)             {                 //如果子节点不为空,则继续在单独的节点中输入子节点                 if($ visibility_for == Globals :: COLLAPSIBLE_TREE)                 {                     //如果“ visibility for”值是可折叠树,则将节点保留为“ nodes”                     $ element ['nodes'] = $ children;                 }                 其他                 {                     //如果“ visibility for”值不是可折叠树,则将节点保留为“ children”                     $ element ['children'] = $ children;                 }             }             $ branch [] = $ element; //将总记录输入新数组         }     }     返回$ branch; } 记录是这样的数组格式: 数组 (     [0] =>数组         (             [id] => 1             [文字] =>食物             [href] => #Food             [parent_id] => 0             [节点] =>数组                 (                     [0] =>数组                         (                             [id] => 3                             [text] =>快餐                             [href] =>#快餐                             [parent_id] => 1                         )                 )         ),     [1] =>数组         (             [id] => 2             [text] =>美食             [href] =>#美食             [parent_id] => 0             [节点] =>数组                 (                     [0] =>数组                         (                             [id] => 4                             [text] =>淡黄色                             [href] => #Brtish                             [parent_id] => 2                         ),                     [1] =>数组                         (                             [id] => 5                             [文字] =>中文                             [href] =>#中文                             [parent_id] => 2                         )                 )         )     [2] =>数组         (             [id] => 6             [文字] =>户外             [href] =>#室外             [parent_id] => 0             [节点] =>数组                 (                 )         ) ) 我关心的是如何将这些记录显示为