dongmeijian1716 2014-10-12 00:54
浏览 21

数组合并不会在foreach php中工作

can anyone tell my why the $output array is always only the last $tmp array of the foreachloop.

im pulling hairs here..

private function create_dir_array($dirs) {
    $output = array();
    foreach ($dirs as $key => $path) {
        $path = split('/',$path);
        $tmp = array();
        $counter = count($path)-1;
        for($i = $counter; $i >= 0; $i--)
        {
            $tmp = array($path[$i] => $tmp);
        }
        $output = array_merge($output, $tmp);
    }
    print("<pre>".print_r($output,true)."</pre>");

}

if have this array

Array
(
    [0] => archive/folder1
    [1] => archive/folder1/subfolder1
    [2] => archive/folder2
    .....
)

and i want that array out of the given data may anyone has a better simpler idea for this?

Array
(
    [archive] => Array(
        [folder1] => Array(
            [subfolder1] => Array()
            )
        )
        [folder2] => Array(
         ......
)
  • 写回答

2条回答 默认 最新

  • duanjiwu0324 2014-10-12 00:56
    关注

    Because you override it on every iteration in your loop:

    for($i = $counter; $i >= 0; $i--)
    {
        $tmp = array($path[$i] => $tmp);
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?