"Administration", "location" => "administration.php", "submenus" => array(), "pages" => array() ); $menus[0]["submenus"][] = array("title" => "Users And Groups", "submenus" => array(), "pages" => array( 'Add User' => 'adduser.php', 'Edit User' => 'edituser.php')); $menus[0]["submenus"][] = array("title" => "Users And Groups 2", "submenus" => array(), "pages" => array( 'Add User 2' => 'adduser2.php', 'Edit User 2' => 'edituser2.php')); $menus[1] = array("title" => "Second Menu", "location" => "second.php", "submenus" => array(), "pages" => array() ); $menus[1]["submenus"][] = array("title" => "Second Subgroup", "submenus" => array(), "pages" => array( 'Add Pineapple' => 'tropical.php', 'Edit Pineapple' => 'tropical.php')); $current_page = "adduser.php"; #$current_page = "tropical.php"; foreach ($menus as $id => $menu) { if (in_array_recursive($menu, $current_page)) { print_menu($menu); } } function in_array_recursive($tree, $value) { if (!is_array($tree)) { return $tree==$value; } foreach ($tree as $node) { if (in_array_recursive($node, $value)) { return true; } } return false; } function print_menu($menu) { print "
"; if (!isset($menu['location'])) { $menu['location'] = "#"; } print "{$menu['title']}
"; if (isset($menu["submenus"]) && count($menu["submenus"])>0) { foreach ($menu["submenus"] as $submenu) { print_menu($submenu); } } if (isset($menu["pages"]) && count($menu["pages"])>0) { foreach ($menu['pages'] as $title => $page) { print "$title
"; } } print "
"; }