Преобразовать ключи array в пути

StalkerClasses

Новичок
Когда дело доходит до работы с массивами - где надо выполнить обход массива, или преобразование ключей - как-то сложно изобретаю все...

Можно ли как-то просто преобразовать
Из вот такого
Код:
        Array
        (
            [path] => Array
                (
                    [file] => folder/hi-test.php
                )

            [settings] => Array
                (
                    [value] => 1
                    [color] => blue2345
                    [test] => Array
                        (
                            [aa] => 1
                        )

                )

        )
Вот в такой
Код:
  Array
        (
            [path-file] => folder/hi-test.php
            [settings-value] => 1
            [settings-color] => blue2345
            [settings-test-aa] => 1

        )
 

StalkerClasses

Новичок
Сори....
Не нашел ответа сразу. Оказывается есть и такое, как просто сделать.:)

PHP:
function recursive_keys(array $array, array $path = array()) {
    $result = array();
    foreach ($array as $key => $val) {
        $currentPath = array_merge($path, array($key));
        if (is_array($val)) {
            $result = array_merge($result, recursive_keys($val, $currentPath));
        } else {
            $temp = join('', $currentPath);
            $result[$temp] = $val;
        }
    }
    return $result;
}
Оригинал
http://stackoverflow.com/questions/8392619/php-function-to-get-recursive-path-keys-with-path

Немного изменил блок else {}
 
Сверху