@animr

Как сделать рекусию массива на PHP, элемент которого является массивом предыдущего элемента массива?

есть входной массив:
$array = [ 5, 6, 7, 8 ];

На выходе нужно получить следующее:
$array = [ 5, [ 6, [ 7, [ 8 ] ] ] ];

Так же есть реализация кода на SWIFT:
func recucive<Val>(vals: [Val]) -> [Any]? {
    if let first = vals.first {
        if let more = recucive(vals: Array<Val>(vals.dropFirst())) {
            return [ first, more ]
        }
        return [ first ]
    }
    return nil
}
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
for ($i = count($array) - 1; $i >= 0; $i--) {
    $result = empty($result) ? [$array[$i]] : [$array[$i], $result];
}


пример: https://ideone.com/ycLw6G
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы