Превратить многомерный массив в обычный

Игорь Быстревский спросил: 27 ноября 2017 в 06:10 в: php

У меня есть такой массив

Array
(
    [0] => Array
        (
            [text] => 1
        )
    [1] => Array
       (
         [0] => Array
            (
                [text] => 2
            )         [1] => Array
            (
                [0] => Array
                    (
                        [text] => 3
                    )            )         [2] => Array
            (
                [text] => 4
            )     )    [2] => Array
    (
        [text] => 5
    ))

Я не знаю количество измерений, их может быть много. Также ключ целевых подмассивов может быть не "текстовым", а всегда текстовым, а не числовым. Как мне превратить этот массив в массив, как этот?

 Array
(
[0] => Array
    (
        [text] => 1
    )[1] => Array
    (
        [text] => 2
    )
[2] => Array
    (
        [text] => 3
    )
[3] => Array
    (
        [text] => 4
    )
[4] => Array
    (
        [text] => 5
    ))

ОБНОВЛЕНИЕ: Хорошо, я не объяснил, и сам не понял весь вопрос. Дело в том, что массив формируется путем рекурсии, у меня есть одна функция:

public static function goToAction($action)
{
    $actions = array();
    $logic = file_get_contents('../../logic/logic.json');
    $logic_array = json_decode($logic, true);
    unset($logic);
    if (!isset($logic_array[$action])) {
        return false;
    } else {
        foreach ($logic_array[$action] as $action) {
            $actions[] = self::parseActionType($action);
        }
    }    return $actions;
}

, а затем формируется мой массив ($ data)

public static function parseActionType($actions)
{
    $data = array();
    foreach ($actions as $key => $action) {
        switch ($key) {
            case 'goto': {
       $goto_actions = self::goToAction($action);
       foreach ($goto_actions as $goto_action) {
                    $data[]= $goto_action;
                }
         } break;
       ....
        }
     }

так что эти функции могут вызывать друг друга, и может быть рекурсия, и, как я понял, когда это происходит, этот код $data[] = $goto_action помещает все полученные действия в один элемент, но мне нужно поместить каждый в другом элементе массива $goto_action


0 ответов