2010-10-04 40 views
1

我期待採取這樣的字符串作爲包含作爲多維數組的字符串的路徑的變量?

"/test/uri/to/heaven" 

,並把它變成一個多維的,嵌套的數組如:

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

任何人有任何指針?我已經通過谷歌和這裏的搜索了一下,但我沒有看到任何東西。

+1

這樣做通常沒有什麼意義,這就是爲什麼沒有'爆炸()'函數,它以這種方式工作。你需要做什麼? – 2010-10-04 16:14:32

+0

好吧,爆炸給了我一個平面陣列。我想知道如何得到爆炸的結果,並保留字符串中路徑的深度? – BeesonBison 2010-10-04 16:16:22

回答

3

這裏是一個快速的非遞歸黑客:

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

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

var_dump($arr); 
+1

我的var_dump看起來像這樣:陣列(1){ [ 「測試」] => 陣列(1){ [ 「URI」] => 陣列(1){ [ 「到」] => 陣列(1){ [ 「上天」] => 陣列(0){ } } } } } – ITroubs 2010-10-04 16:23:29

+0

這是很大的,非常感謝=) – BeesonBison 2010-10-04 16:26:30

+0

我想能夠扭轉這種回一個字符串。任何想法如何? – TarranJones 2015-04-13 14:45:25