Возможный рекурсивный подход может работать следующим образом:
Начиная с пустой строки, итерируйте массив и добавьте каждый ключ к результату.Прежде чем перейти к следующей итерации, если значение не пустое, добавьте результат рекурсивного вызова.Когда вы дойдете до конца, у вас должна быть строка, представляющая всю структуру.
function get_map(array $array, string $path = ''): string
{
$result = '';
foreach ($array as $key => $value) {
$result .= "$path$key\n" . ($value ? get_map($value, "$path$key->") : '');
}
return $result;
}
echo get_map($array);