2013-11-03 73 views
0

有沒有辦法如何索引一個深度可變的數組?深度可變的索引數組

例如

我在什麼地方保存:

$path_string="Shop,Items,Item"; 

我將其轉換爲數組:

$path = explode (",", $path_string); 

和數組中的項目數量會影響陣列空間維度。那麼,我想索引我的多維數組像這樣:

$value = $array[$path[0]][$path[1]][$path[2]][$id][$tag]; 

我真的不知道它。謝謝你的幫助!

回答

1
$cursor = $array; 
foreach (explode(",", $path_string) as $key) { 
    $cursor = $cursor[$key]; 
} 
var_dump($cursor); 
+0

謝謝,這工作:) –

1

可以寫一個遞歸函數來做到這一點:

function my_array_conversion($array) { 

$ret = array(); 

    var_dump($array); 

    if(count($array) > 1) { 
     $c = $array[0]; 
     array_splice($array, 0, 1); 
     $ret[$c] = my_array_conversion($array); 
    } 
    else 
     $ret[$array[0]] = array(); 

    return $ret; 
} 

與$陣列呼叫它=陣列($路徑[0],$路徑[1],$路徑[2],$ ID, $標籤);