【问题标题】:Access to POST vars in php with string name [closed]使用字符串名称访问 php 中的 POST 变量 [关闭]
【发布时间】:2013-12-06 19:31:03
【问题描述】:

您好,我在尝试访问 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'];

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

【问题讨论】:

  • 不要在$_POST['$pointer_combo'] 中单引号$pointer_combo,因为变量没有展开。变量在双引号字符串中展开,但在这种情况下您根本不需要引号。
  • 谢谢,你是对的,工作正常。谢谢!

标签: php http-post


【解决方案1】:

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

试试这个:

echo $_POST[$pointer_combo];

【讨论】:

  • 是的,你是对的,工作正常!谢谢!
【解决方案2】:

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

echo $_POST[$pointer_combo];

会起作用,就像这样:

echo $_POST["$pointer_combo"];

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

【讨论】:

  • 是的,你也是对的,工作正常!谢谢!
【解决方案3】:

去掉引号:

$_POST[$pointer_combo];

【讨论】:

  • 是的,工作正常,谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-04
相关资源
最近更新 更多