2010-06-21 73 views
1

object包含'array1'。使用对象中的方形框访问动态生成的阵列名称

$Obj -> array1 [12]; // works fine. 

然而,动态生成数组的名字 - 你不能用方括号...

$var = 'array1'; 

$Obj -> $var [ 12] ; // nothing. no error, but no result. 

我不得不这样做

$ar = $Obj -> $var ; // copy out array 
$ar [12] ; // get value in array. 

注:

$Obj -> $$var [ 12]; // fatal error, cannot access empty property 
$Obj -> ($var) [12] ; // error, unexpected '[' or '(' 

回答

0

这应该工作:$Obj->{$var}[12]

+0

太棒了!那么,大括号是否意味着“评估”?这也可以在其他情况下使用,我也假设。谢谢! – inteblio 2010-06-21 10:50:31