PHP变量通过任意发出变量名附加

时间:2017-06-03 18:01:34

标签: php

我不知道这是否是提出这样问题的好地方,但我想了解PHP变量的工作原理。众所周知,我们可以将变量添加到另一个变量中,如下所示:

$abc = "Some Text"
$ab_apnd = "{$abc} missing*";
echo $ab_apnd;

然后这将显示如下输出:

  

某些文字丢失*

但问题是,当我在$_POST上传递相同的文字时,它不起作用。

# $_POST['abc'] = "{$abc}" // through a form not from php code //
$abc = "Some Text";
$ab_apnd = $_POST['abc'] . " missing*";
echo $ab_apnd;

现在这将显示如下输出:

  

{abc}缺少*;

如果你告诉我为什么会这样,我将感激不尽!谢谢。

2 个答案:

答案 0 :(得分:0)

我想你想使用变量值作为变量名。您可以使用eval函数。

<form action="" method=post>    
   <input type='text' name="abc">
   <input type="submit">
</form>

<?php    
  $abc = "Some Text";    
  eval('$ab_apnd ="' . $_POST['abc'] . ' missing*";');   
  echo $ab_apnd; 
?>

答案 1 :(得分:0)

为什么要这么复杂:

<?php
  $_POST['abc']= "some text";   
  $ab_apnd = $_POST['abc'] . ' missing*';
  echo $ab_apnd;
?>