2014-06-20 48 views
1

我有一個像 根/路徑1 /路徑/ path3時的目錄結構路徑 我想這是如何目錄路徑轉換爲數組在PHP

Array(
[0] => "root" 
[1] => Array 
    (
     [0] => "path1" 
     [1] => Array 
      (
       [0] => "path2" 
       [1] => Array 
        (
         [0] => "path3" 
        ) 

      ) 

    ) 
) 
+0

使用爆炸( 「/」,$ PATH),但爲什麼你會想要這麼多嵌套數組? – VikingBlooded

+0

爆炸給我一維陣列,像 陣列 ( [0] =>根 [1] => PATH1 [2] => PATH2 [3] => path3時 ) 那是路徑我從我的刮腳本得到我需要創建類似的目錄和子目錄。 mkdir(「root/path1/path2」,0755,true)會創建一個,但我需要在目錄名稱上做一些字符串函數,所以我需要單獨使用它們。 希望你有我的想法 – way2vin

回答

5

只是嘗試:

$input = 'root/path1/path2/path3'; 
$output = null; 

foreach (array_reverse(explode('/', $input)) as $part) { 
    $output = $output ? array($part, $output) : array($part); 
} 

var_dump($output); 

輸出:

array (size=2) 
    0 => string 'root' (length=4) 
    1 => 
    array (size=2) 
     0 => string 'path1' (length=5) 
     1 => 
     array (size=2) 
      0 => string 'path2' (length=5) 
      1 => 
      array (size=1) 
       0 => string 'path3' (length=5) 
+0

謝謝hsz這是一個。 – way2vin

+1

@VineethKrishnan不客氣。 – hsz

+0

任何想法如何可以扭轉這從數組中獲取字符串? – TarranJones