dora1989 2013-12-26 22:31
浏览 32
已采纳

路径的树状结构[关闭]

I've a tree-like structured array:

Array
(
    [dir1] => Array
    (
        [file1] => ...
        [dir2] => Array
            (
               [file1] => ...
               [file2] => ...

        )

    )
)

I want to get a pathnames array:

Array
(
    [file1] => ....
    [dir2/file1] => ....
    [dir2/file2] => ....
)

How could I do that? I've tried with lots of buggy loops and recursive functions, but I still don't know how to do it.

  • 写回答

1条回答 默认 最新

  • duanhan8757 2013-12-26 22:42
    关注

    A simple recursive solution would be:

    function toPathArray($nestedArr) {
        $res = array();
        foreach ($nestedArr as $key => $val) {
            if (is_array($val)) {
                foreach (toPathArray($val) as $innerKey => $innerVal) {
                    $res["$key/$innerKey"] = $innerVal;
                }
            } else {
                $res[$key] = $val;
            }
        }
        return $res;
    }
    

    See also:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退