What are some common approaches for handling nested menu structures and updating different sections of a page based on user navigation in PHP?

One common approach for handling nested menu structures and updating different sections of a page based on user navigation in PHP is to use a combination of HTML, CSS, and PHP to dynamically generate the menu items and content sections. This can be achieved by storing the menu structure in a multidimensional array and using loops to iterate through the array to generate the menu items. Additionally, you can use conditional statements to determine which content section to display based on the user's navigation.

<?php
// Define a multidimensional array representing the menu structure
$menu = array(
    'Home' => array(
        'url' => 'index.php',
        'sub_menu' => null
    ),
    'About Us' => array(
        'url' => 'about.php',
        'sub_menu' => null
    ),
    'Products' => array(
        'url' => '#',
        'sub_menu' => array(
            'Product 1' => 'product1.php',
            'Product 2' => 'product2.php'
        )
    )
);

// Generate the main menu
echo '<ul>';
foreach ($menu as $label => $item) {
    echo '<li><a href="' . $item['url'] . '">' . $label . '</a>';
    if ($item['sub_menu']) {
        echo '<ul>';
        foreach ($item['sub_menu'] as $sub_label => $sub_url) {
            echo '<li><a href="' . $sub_url . '">' . $sub_label . '</a></li>';
        }
        echo '</ul>';
    }
    echo '</li>';
}
echo '</ul>';

// Determine which content section to display based on user navigation
if (isset($_GET['page'])) {
    $page = $_GET['page'];
    if ($page === 'product1.php') {
        include 'product1.php';
    } elseif ($page === 'product2.php') {
        include 'product2.php';
    }
}
?>