我有层次结构的概念,实际上是使用了很多代码 http://blog.ideashower.com/post/15147134343/create-a-parent-child-array-structure-in-one-pass
但是我需要把这个列表强行插入一个更严格的系统。
我正在为myBB开发一些东西,并且需要强制数组以某种方式运行,以便我可以在表单类中使用它,这是问题的来源。
要在mybb中创建一个选择框,您需要执行以下操作
$enabled_options = array(
"all" => 'All',
"enabled" => 'Enabled',
"disabled" => 'Disabled'
);
$state_box = $form->generate_select_box('state', $enabled_options, $mybb->input['state']);
这将生成一个看起来像
的下拉列表<option value='all'>All</option>
<option value='enabled'>Enabled</option>
<option value='disabled'>Disabled</option>
现在我想对类别做同样的事情,但是类别表并没有真正分组,看起来像
|ID|category_name|category_parent|
|1|general|NULL|
|2|Sport|NULL|
|3|News|NULL|
|4|Football|2|
|5|Tennis|2|
|6|World|3|
等等。我需要安排这些,以便它们组合在一起,然后推入一个更扁平的数组,以便我可以将它推入表单类,除非有办法使层次结构列表显示为
general
Sport
-Football
-Tennis
News
-World
下拉列表中的等等。表单类似乎有点限制,我jsut无法获得以我想要的方式工作的递归函数。如果可以避免的话,我也不想用太多的查询来访问数据库。