gpt4 book ai didi

作为 HTML 层次结构的 PHP 路径数组

转载 作者:太空宇宙 更新时间:2023-11-04 15:11:34 24 4
gpt4 key购买 nike

我有以下路径列表

  • GRUPA131/LFA & others/lfa sub.zip
  • GRUPA131/LFA & others/lfandrei.pdf
  • GRUPA131/Limbaje forale (Liviu Dinu).pdf
  • GRUPA131/desktop.ini
  • GRUPA131/lfa/lab1/1-Theodors MacBook Air.cc
  • GRUPA131/lfa/lab1/1.cc
  • GRUPA131/lfa/lab1/1.cc-Theodors MacBook Air.out
  • GRUPA131/lfa/lab1/1.cc.out
  • GRUPA131/lfa/lab1/2.cc
  • GRUPA131/lfa/lab1/input3.in
  • GRUPA131/lfa/lab1/tema1.zip
  • 亚历山德鲁兰巴.png
  • 亚历山德鲁-lamba_v2.png
  • analiza carte 1.pdf
  • analiza carte 2.pdf
  • biblsit.docx
  • center.js

作为字符串,我想将它们转换为可使用 HMTL 表示的文件夹层次结构。因此,对于每个文件夹,我想列出它的文件和子文件夹,等等,直到列表完成。

最好有如下的 php 数组层次结构:

  $dirs['dirname'] -> file 1
$dirs['dirname'] -> file 2
$dirs['dirname'] -> file 3
$dirs['dirname'] -> Folder
$dirs['dirname']['folder'] -> file 1
$dirs['dirname']['folder'] -> file 2..

我试图通过 '/' ( PATH_DELIMITER ) 拆分每个字符串,但我不知道如何像我之前提到的那样实际获取数组。

此外,我的包含完整路径的数组是一个简单的数组。不是关联的。

谁能帮我弄清楚该怎么做?

谢谢!

最佳答案

最简单的方法是递归函数。我的建议:

function build_folder_structure(&$dirs, $path_array) {
if (count($path_array) > 1) {
if (!isset($dirs[$path_array[0]])) {
$dirs[$path_array[0]] = array();
}

build_folder_structure($dirs[$path_array[0]], array_splice($path_array, 1));
} else {
$dirs[] = $path_array[0];
}
}

$strings = array(
'GRUPA131/LFA & others/lfa sub.zip',
'GRUPA131/LFA & others/lfandrei.pdf',
'GRUPA131/Limbaje formale (Liviu Dinu).pdf',
'GRUPA131/desktop.ini',
'GRUPA131/lfa/lab1/1-Theodors MacBook Air.cc',
'GRUPA131/lfa/lab1/1.cc',
'GRUPA131/lfa/lab1/1.cc-Theodors MacBook Air.out',
'GRUPA131/lfa/lab1/1.cc.out',
'GRUPA131/lfa/lab1/2.cc',
'GRUPA131/lfa/lab1/input3.in',
'GRUPA131/lfa/lab1/tema1.zip',
'alexandru-lamba.png',
'alexandru-lamba_v2.png',
'analiza carte 1.pdf',
'analiza carte 2.pdf',
'biblsit.docx',
'center.js'
);

$dirs = array();

foreach ($strings As $string) {
$path_array = explode('/',$string);

build_folder_structure($dirs,$path_array);
}

print_r($dirs);

检查:

What is a RECURSIVE Function in PHP?

http://php.net/manual/en/language.references.pass.php

关于作为 HTML 层次结构的 PHP 路径数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19139049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com