2013-11-23 151 views
1

我知道我可以動態調用一個變量是這樣的:動態變量數組名

$var = 'name'; 
$name = 'hello'; 
echo(${$var}); 

但我怎麼能解決以同樣的方式數組(但不只是一個屬性一樣是$ var [$ i]) :

$var = 'arrayname[\'Subsections\'][\'Party\'][\'Description\']'; 
var_dump(${$var}); 

謝謝你在前進, 問候, 斯特凡

+0

function getArrayPath($arr,$path) { foreach($path as $item) {$arr = $arr[$item];} return $arr; } 

然後,您可以訪問這個樣子? – Kermit

回答

2

你不應該使用變量變量反正。使用數組。

在這種情況下,你可以有一個輔助功能:使用`foreach`循環

$var = ["Subsections","Party","Description"]; 
$data = getArrayPath($arrayname,$var); 
+0

謝謝 - 爲我工作。我不喜歡那麼多的開銷,僅僅是因爲我想動態地調用一個變量,但是很好地調用它。 只是兩個方面的說明 - 它花了我不多,但仍然不支持所有PHP版本的[]數組語法(我剛剛意識到這一點,因爲我本週早些時候遇到過這種情況),所以我不得不使用舊的數組() 句法。我想你想寫$ arr [$ item]而不是$ arr [$ path] ....僅供參考。 :-) – Stefan