PHP:递归遍历结果保存到多维数组

请问,如何使用php实现递归遍历给定路径(比如:$path = c:)下的所有子目录,运行后能将目录名称保存为如下格式

array a => array 0 => string a1 length=2 1 => string a2 length=2 2 => string a3 length=2 b => array b1 => array 0 => string b11 length=3 1 => string b12 length=3 0 => string b2 length=2 c => array 0 => string c1 length=2 1 => string c2 length=2 c3 => array 0 => string c31 length=3 1 => string c32 length=3

我目前实现的,只能将结果保存到一维数组中,代码如下:

function get_subdir_path$path,&$dir_array,$sub_dir = TRUE
{ global $files_array; if is_dir$path { if$handle = opendir$path { while $file = readdir$handle!=false { if $file !="." && $file != ".." { $temp_path = $path ."/".$file; if is_dir$temp_path{ array_push$dir_array,$temp_path; if $sub_dir==TRUE { get_subdir_path$temp_path,$dir_array; } } } } } }
}

类似如下图所示:

今天刚刚说完一个人又来了一个范例。
少年,请问你看到最后面的一串花括号你头疼么?整整有8级以上的缩进啊,这还能让人看么!果断要差评好不好!

function scan_rescursive$directory { $res = array; foreachglob"$directory/*" as $item { ifis_dir$item { $folder = endexplode/, $item; $res[$folder] = scan_rescursive$item; continue; } $res[] = basename$item; } return $res;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注