How can hierarchical data be efficiently displayed in PHP using recursive functions?

Displaying hierarchical data efficiently in PHP using recursive functions involves creating a function that can traverse through the nested structure of the data and display it in a hierarchical manner. This can be achieved by recursively calling the function for each level of the hierarchy until all nodes have been processed.

function displayHierarchy($data, $level = 0) {
    foreach ($data as $node) {
        echo str_repeat("-", $level) . $node['name'] . "<br>";
        if (isset($node['children'])) {
            displayHierarchy($node['children'], $level + 1);
        }
    }
}

// Example hierarchical data
$data = [
    ['name' => 'Parent 1', 'children' => [
        ['name' => 'Child 1'],
        ['name' => 'Child 2', 'children' => [
            ['name' => 'Grandchild 1'],
            ['name' => 'Grandchild 2']
        ]]
    ]],
    ['name' => 'Parent 2']
];

displayHierarchy($data);