What are some best practices for organizing and displaying forum categories and subcategories in PHP applications?

When organizing and displaying forum categories and subcategories in PHP applications, it's important to create a clear hierarchy that makes it easy for users to navigate and find relevant discussions. One best practice is to use a nested array structure to represent categories and subcategories, allowing for easy traversal and display. Additionally, consider implementing a recursive function to generate HTML markup for the categories and subcategories.

// Sample nested array structure for forum categories and subcategories
$forumCategories = [
    [
        'name' => 'Category 1',
        'subcategories' => [
            ['name' => 'Subcategory 1.1'],
            ['name' => 'Subcategory 1.2'],
        ]
    ],
    [
        'name' => 'Category 2',
        'subcategories' => [
            ['name' => 'Subcategory 2.1'],
            ['name' => 'Subcategory 2.2'],
        ]
    ]
];

// Recursive function to generate HTML markup for categories and subcategories
function displayCategories($categories) {
    echo '<ul>';
    foreach ($categories as $category) {
        echo '<li>' . $category['name'];
        if (!empty($category['subcategories'])) {
            displayCategories($category['subcategories']);
        }
        echo '</li>';
    }
    echo '</ul>';
}

// Display forum categories and subcategories
displayCategories($forumCategories);