Как вывести элементы массива в виде дерева с помощью рекурсии? Каждый новый уровень должен начинаться с двух пробелов.
$arr = [
'arr1' => ['1,1', '1.2', '1.3'],
'arr2' => ['2.1', ['2.1.1', '2.1.2', '2.1.3'], '2.2', '2.3'],
'arr3' => ['3.1', '3.2', '3.3'],
];
function rec ($arr) {
$res = [];
foreach ($arr as $k => $v) {
if (is_array($arr[$k])) {
rec($v);
}
$res[] = $v . '<br>';
};
return $res;
};
Предлагаю такой вариант:
<?php
$arr = [
'arr1' => ['1.1', '1.2', '1.3'],
'arr2' => ['2.1', ['2.1.1', '2.1.2', '2.1.3', ['2.5', '2.6', ['2.7', '2.8', ['2.9', '2.10']]]], '2.2', '2.3'],
'arr3' => ['3.1', '3.2', '3.3'],
];
function rec ($arr, $level = 0) {
$res = [];
foreach ($arr as $k => $v) {
if (is_array($arr[$k])) {
rec($v, $level + 1); // увеличиваем уровень вложенности, если текущий элемент массив
} else {
if($level > 1)
echo str_repeat(' ', $level - 1); // делаем отступ в зависимости от вложенности
echo $v.PHP_EOL; // PHP_EOL перенос строки
}
};
};
rec($arr);
Результат:
1.1
1.2
1.3
2.1
2.1.1
2.1.2
2.1.3
2.5
2.6
2.7
2.8
2.9
2.10
2.2
2.3
3.1
3.2
3.3
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Поставил куки, заголовки, и делаю запрос на сайт sitecom Получил ответ, и тут проблема, мне нужно еще раз отправить запрос не закрывая соединение
Такая история, у меня есть проект написаный на C++, который компилируется и работает