How can arrays be effectively utilized in PHP to organize hierarchical data for generating an organigram?

To organize hierarchical data for generating an organigram in PHP, arrays can be effectively utilized by creating a nested structure where each element represents a node in the hierarchy. This allows for easy traversal and manipulation of the data to generate the desired organigram layout.

$organigram = [
    'CEO' => [
        'CFO' => [
            'Finance Manager',
            'Accountant'
        ],
        'CTO' => [
            'Engineering Manager',
            'Developer 1',
            'Developer 2'
        ]
    ]
];

function generateOrganigram($data, $indent = 0) {
    foreach ($data as $key => $value) {
        echo str_repeat('  ', $indent) . '- ' . $key . PHP_EOL;
        if (is_array($value)) {
            generateOrganigram($value, $indent + 1);
        }
    }
}

generateOrganigram($organigram);