2012-05-17 20 views
2
$var = "array"; 
$$var=array("1","2"); 

如何在不使用foreach的情况下调用$$var中的数组?我想要一个像$$var[0]这样的方法,但这不起作用。

+3

使用变量变量很少是一个好主意..使用更好的数据结构。 –

回答

2

使用这样的:

echo ${$var}[0]; 
1

当你运行这段代码:

$var = "array"; 
$$var = array("1","2"); 

...这是相同的是:

$array = array("1","2"); 

这样你就可以这样做:

echo $array[0]; 

...或这个:

echo ${$var}[0]; 

如果必须使用可变的变量 - 和时间排列的99.99%是一个更好的解决方案 - 你应该总是使用透明度和消歧括号。

有关更多信息,请参阅variable variables参考。

0

你需要一些大括号:这取决于你正在访问哪些变量

${$var[1]} 

OR

${$var}[1]