表示文件路径的PHP多维数组 [英] PHP multidimensional array representing filepath
本文介绍了表示文件路径的PHP多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含文件完整路径的数组.像这样:
I have an array containing full paths of files. Like this:
[0] => "dir1/dir2/dir3/file.ext"
[1] => "dir1/dir2/dir3/file2.ext"
[2] => "dir1/dir2/dir3/file3.ext"
[3] => "dir2/dir4/dir5/file.ext"
我需要解析它并获得一个多维数组,如下所示:
I need to parse it and get a multidimensional array, something like this:
[dir1] => [dir2] => [dir3] => file.ext
=> file2.ext
=> file3.ext
[dir2] => [dir4] => [dir5] => file.ext
有什么想法吗?必须在结构的各种深度下工作.
Any ideas? Must work with various depth of the structure.
推荐答案
我已经完成了功课!:-)
I've done your homework! :-)
代码:
<?php
function parse_paths_of_files($array)
{
$result = array();
foreach ($array as $item)
{
$parts = explode('/', $item);
$current = &$result;
for ($i = 1, $max = count($parts); $i < $max; $i++)
{
if (!isset($current[$parts[$i-1]]))
{
$current[$parts[$i-1]] = array();
}
$current = &$current[$parts[$i-1]];
}
$current[] = $parts[$i];
}
return $result;
}
$test = array(
"dir1/dir2/dir3/file.ext",
"dir1/dir2/dir3/file2.ext",
"dir1/dir2/dir3/file3.ext",
"dir2/dir4/dir5/file.ext"
);
print_r(parse_paths_of_files($test));
?>
这篇关于表示文件路径的PHP多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文