变量包含一个路径作为多维数组的字符串?

时间:2010-10-04 16:12:28

标签: php multidimensional-array path

我正在寻找一个像

这样的字符串
"/test/uri/to/heaven"

并将其转换为多维嵌套数组,例如:

array(
    'var' => array(
        'www' => array(
            'vhosts' => array()            
        ),
    ),
);

有人有任何指示?我已经浏览了Google和搜索,但我没有看到任何内容。

1 个答案:

答案 0 :(得分:3)

这是一个快速的非递归黑客:

$url   = "/test/uri/to/heaven";
$parts = explode('/',$url);

$arr = array();
while ($bottom = array_pop($parts)) {        
    $arr = array($bottom => $arr);
}

var_dump($arr);

输出:

array(1) {
  ["test"]=>
  array(1) {
    ["uri"]=>
    array(1) {
      ["to"]=>
      array(1) {
        ["heaven"]=>
        array(0) {
        }
      }
    }
  }
}