动态变量数组名称

时间:2013-11-23 16:36:25

标签: php arrays dynamic

我知道我可以像这样动态调用变量:

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

但是如何以相同的方式处理数组(但不只是像$ var [$ i]这样的属性):

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

提前谢谢你, 问候, 斯蒂芬

1 个答案:

答案 0 :(得分:2)

无论如何,你不应该使用变量变量。使用数组。

在这种情况下,你可以有一个辅助函数:

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

然后,您可以这样访问:

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