【发布时间】:2015-03-15 16:29:20
【问题描述】:
我正在尝试从一个 zip 文件创建一个关联数组,其中文件夹是键,文件是最里面的值。
目前,当我在 zip 文件中的每个条目上打开 / 时,我会得到如下信息:
Array
(
[0] => Folder1
[1] => Folder2
[2] => File1.txt
)
Array
(
[0] => Folder1
[1] => Folder2
[2] => File2.txt
)
Array
(
[0] => Folder1
[1] => Folder3
[2] => File3.txt
)
为了实现这一点,我正在这样做(在 $path 上执行 print_r):
if(in_array($content["ext"], array("zip"))){
$zip = zip_open($file);
while($zip_entry = zip_read($zip)){
$zip_path = zip_entry_name($zip_entry);
$path = explode("/", $zip_path);
$path = array_filter($path);
$lastElement = end($path);
foreach($path as $key => $item){
if($item != $lastElement){
}
}
}
}
print_r($files);
我希望$files 包含一个多维数组,结果如下所示:
Array
(
[Folder1] => Array
(
[Folder2] => Array
(
[0] => File1.txt
[1] => File2.txt
)
[Folder3] => Array
(
[0] => File3.txt
)
)
)
在没有深度的情况下实现这一目标的最佳方法是什么?
【问题讨论】:
-
请澄清“没有深度”
-
没有深度,我的意思是无限数量的子数组。
标签: php arrays multidimensional-array path