使用字符串名称访问php中的POST变量


Access to POST vars in php with string name

嗨,我在php中尝试访问$_POST变量时遇到问题。我有一个名为"c012"的组合。好吧,我用这个var发送表单,我已经检查了这个var是否可以发送,当我尝试用这个代码访问时,$var1、$var2和$var3是数字:

$var1 = 0;$var2 = 1;$var3 = 2;

$pointer_combo = "c".$var1.$var2.$var3;
echo $_POST['$pointer_combo'];

不显示任何内容,但如果我尝试此操作:

echo $_POST['c012'];

工作,并显示价值。上面的代码有什么问题?

如果使用动态索引(存储在变量中的索引值),则不需要引号。

试试这个:

echo $_POST[$pointer_combo];

如果值是单引号的,PHP不会进行变量替换。只有双引号或没有引号。所以

echo $_POST[$pointer_combo];

会起作用,也会:

echo $_POST["$pointer_combo"];

(但很明显,在第二个例子中,引号没有多大意义!)

失去引号:

$_POST[$pointer_combo];