2011-03-21 122 views
0
$var="profile['Gamer']['last_name']"; 
echo ${$var}; 

给出变量中变量在PHP

未定义变量:简介[ '玩家'] [ '姓氏']

。但是,如果我尝试回声$型材[“玩家”] [“姓氏”]值存在

我已经试过回声$$ VAR太没有工作

+0

使用大括号指定数组索引是不可能的。 – Unicron 2011-03-21 13:42:41

+0

你为什么要这么做? echo $ profile ['Gamer'] ['last_name'];' – Joe 2011-03-21 13:43:07

+2

只有'$ {“profile”} ['Gamer'] ['last_name']'会出现问题。 – Gumbo 2011-03-21 13:43:52

回答

0
$var="profile['Gamer']['last_name']"; 
eval('$result = $' . $var . ';'); 
echo $result; 

请记住,存在严重的安全问题,这样的事情,那你的代码可能会很难理解别人,只喜欢你的自我。

+0

我的目的是检查用户是否填写了数据库字段的数据。如果填补,我给他分配一些点数。要在另一个表中存储fild名称和与其关联的点。所以最好的实施方式是什么?以及安全问题。没有一个,但我已经进入了桌子 – aWebDeveloper 2011-03-21 14:05:43

4

没有变profile['Gamer']['last_name']。只有一个名为profile的变量。

$var = "profile"; 
echo ${$var}['Gamer']['last_name']; 
+0

+1就在眼前。 – 2011-03-21 14:03:44

0

试试这个:

$var="profile['Gamer']['last_name']"; 
eval("echo $".$var.";");