关于一个数组的转换
程序员文章站
2022-05-20 21:02:05
...
$a = array('dir1', 'dir2', 'dir3', 'file1'); $b = array('dir1', 'dir2', 'dir3', 'file2'); //上面的数组怎么变成下面这种 /* array( 'dir1'=>array( 'dir2'=>array( 'dir3'=>array('file1', 'file2',) ) ) ); */
求个算法,谢谢!
回复内容:
$a = array('dir1', 'dir2', 'dir3', 'file1'); $b = array('dir1', 'dir2', 'dir3', 'file2'); //上面的数组怎么变成下面这种 /* array( 'dir1'=>array( 'dir2'=>array( 'dir3'=>array('file1', 'file2',) ) ) ); */
求个算法,谢谢!
亲~好吧,我自己弄出来了。
$a = array('dir1', 'dir2', 'dir3', 'file1'); function build($tree, $arr) { if(count($arr) == 1) { return $arr; } $key = array_shift($arr); $tree[$key] = build($tree, $arr); return $tree; } $tree = array(); print_r(build($tree, $a));
上一篇: php的注释规范