How can PHP be utilized to handle menu navigation levels and subcategories effectively?

When dealing with menu navigation levels and subcategories in PHP, one effective approach is to use a recursive function to iterate through the menu items and their subcategories. This allows for dynamic generation of menus with multiple levels of navigation.

function generateMenu($menuItems) {
    echo '<ul>';
    foreach ($menuItems as $menuItem) {
        echo '<li>' . $menuItem['name'];
        if (!empty($menuItem['subcategories'])) {
            generateMenu($menuItem['subcategories']);
        }
        echo '</li>';
    }
    echo '</ul>';
}

// Example usage
$menuItems = [
    ['name' => 'Home'],
    ['name' => 'Products', 'subcategories' => [
        ['name' => 'Category 1'],
        ['name' => 'Category 2', 'subcategories' => [
            ['name' => 'Subcategory 1'],
            ['name' => 'Subcategory 2']
        ]]
    ]],
    ['name' => 'Contact']
];

generateMenu($menuItems);