以不同的方式打印出数组位



我一直在为此苦苦挣扎。我有一个文件夹,其中包含文件列表和基本命名顺序 - 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
                )
        )
)

最新更新