Search the Community
Showing results for tags 'recursive function'.
-
Modified the recursive function on page 19 to return divs instead of an ordered list. Function: function make_list($parent, $sub=FALSE) { // set attribute if (!$sub) { $attribute = 'id="menu"'; } else { $attribute = 'class="submenu"'; } // set tasks access global $tasks; foreach ($parent as $task_id => $todo) { // new loop? if (!$sub) { echo '<div id="main">'; } // build div echo '<div ' . $attribute . '>' . $todo . '</div>'; // check for next array if (isset($tasks[$task_id])) { // call function again make_list($tasks[$task_id], TRUE); } else { // close 'main' div echo '</div>'; } } } Output: <div id="main"> <div id="menu">Task 1</div> <div class="submenu">Subtask 1</div> <div class="submenu">SubSubTask 1</div> </div> <div id="main"> <div id="menu">Task 2</div> <div class="submenu">Subtask 2</div> <div class="submenu">SubSubTask 2</div> </div> <div id="main"> <div id="menu">Task 3</div> <div class="submenu">Subtask 3</div> </div> <div id="main"> <div id="menu">Task 4</div> <div class="submenu">Subtask 4</div> </div> The problem is: Both the SubTask and SubSubTask divs have the same class of 'submenu'. <div class="submenu">Subtask 1</div> <div class="submenu">SubSubTask 1</div> I'm trying to get them to have different class names, like so: <div class="submenu">Subtask 1</div> <div class="subsubmenu">SubSubTask 1</div> How might I structure the function to accomplish this? Any ideas would be helpful. ~ David