数组的变量变量

时间:2015-07-29 12:31:28

标签: php variable-variables

我已经定义了一个数组$array[1][1][test]="hello world"。我想通过使用变量变量获得此值。我试过这个,没有成功:

$var1="array";
$var2="[1][1]";
$var3="['test']";

echo ${$var1}{$var2}{$var3};

输出为null

2 个答案:

答案 0 :(得分:0)

我不明白你的问题

如果你得到var,试试这个:

echo $array[1][1][test];

“更动态”:

$i = 1;
$x = 'test';

echo $array[$i][$i][$x];

答案 1 :(得分:0)

PHP manual并未过于彻底地涵盖变量数组索引的使用,但评论确实提到它们不像您发现的那样起作用。

但是提供了一些解决方法:

$array[1][1]['test']="hello world"

$var1="array";
$var2="[1][1]";
$var3="['test']";

$tmp=$var1.$var2.$var3;

eval('echo $'.$tmp.';');

以上结果是预期的'hello world'输出。也就是说,我不会在任何代码中使用eval()

但是,手册页上的

Comment(来自于设计名称为dot ca,日期为2006年)也提供了可以处理带索引的变量数组的函数。