我一直在为此苦苦挣扎。我有一个文件夹,其中包含文件列表和基本命名顺序 - abc-def-xyz.php
我正在尝试创建一个索引页面以自动列出组中的所有文件。所以:
abc-def-xyz.php
abc-def-xzz.php
abb-def-xyz.php
将在 php 索引页面中显示为:
abc
def
<a href="link/to/file">xyz</a>
<a href="link/to/file">xzz</a>
abb
def
<a href="link/to/file">xyz</a>
我可以达到爆炸文件名并删除扩展名的地步,然后我就迷路了。任何建议将不胜感激。谢谢!
Array
(
[0] => Array (this is applyOnline-alert-warning.php)
(
[0] => applyOnline
[1] => alert
[2] => warning
)
[1] => Array
(
[0] => applyOnline
[1] => collectionOrDelivery
)
)
使用这个答案的方法 如何编写 getter/setter 以按键名访问多级数组?
$array = array();
foreach($files as $file) {
$temp = &$array;
foreach(explode('-', $file) as $key) {
$temp =& $temp[pathinfo($key, PATHINFO_FILENAME)];
}
$temp = $file;
}
生成一个可以使用键名的数组:
Array
(
[abc] => Array
(
[def] => Array
(
[xyz] => abc-def-xyz.php
[xzz] => abc-def-xzz.php
)
)
[abb] => Array
(
[def] => Array
(
[xyz] => abb-def-xyz.php
)
)
)