Variable containing a path as a string to multi-dimensional array?

做~自己de王妃 提交于 2019-12-17 20:17:19

问题


I'm looking to take a string such as

"/test/uri/to/heaven"

and turn it into a multi-dimensional, nested array such as:

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

Anyone got any pointers? I've had a look through Google and the search here, but I've not seen anything.


回答1:


Here is a quick non recursive hack:

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

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

var_dump($arr);

Output:

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


来源:https://stackoverflow.com/questions/3857033/variable-containing-a-path-as-a-string-to-multi-dimensional-array

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!