包含多维数组字符串路径的变量?

Bee*_*son 3 php path multidimensional-array

我正在寻找一个字符串,例如

"/test/uri/to/heaven"
Run Code Online (Sandbox Code Playgroud)

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

array(
    'var' => array(
        'www' => array(
            'vhosts' => array()            
        ),
    ),
);
Run Code Online (Sandbox Code Playgroud)

有人有任何指点吗?我已经浏览过谷歌和这里的搜索,但我没有看到任何东西。

ITr*_*ubs 5

这是一个快速的非递归技巧:

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

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

var_dump($arr);
Run Code Online (Sandbox Code Playgroud)

输出:

array(1) {
  ["test"]=>
  array(1) {
    ["uri"]=>
    array(1) {
      ["to"]=>
      array(1) {
        ["heaven"]=>
        array(0) {
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)