如何在php中检索带有变量名的post值


how to Retrive post values with variable names in php

我想在post方法中使用变量而不是名称。我已经尝试过这段代码,但我能做什么似乎不正确,这是我的PHP代码

    <?php
$answer="";
 for($i=0 ; $i<2 ; $i++){
   if(isset($_POST['{$i}'])){
$answer.=$_POST['{$i}'].",";
}
else{$answer.="0,";}
}
 echo $answer;
?>

这是我的表格:

    <form method="post" action="data.php">
<lable for="1" >1</lable>
<input type="radio" name="1" value="1"/>
<input type="radio" name="1" value="2"/>
<input type="radio" name="1" value="3"/>
<input type="radio" name="1" value="4"/><br/>
<lable for="2" >2</lable>
<input type="radio" name="2" value="1"/>
<input type="radio" name="2" value="2"/>
<input type="radio" name="2" value="3"/>
<input type="radio" name="2" value="4"/>
<input type="submit" name="submit" value="submit" />

您不需要像那样包装变量名,只需直接访问即可。它是一个数组,这意味着它支持键的概念。

(不过,我不能100%确定使用整数键是个好主意。你可能想在它们前面加一个文本值,以防止出现奇怪的错误)

$_POST[ $i ]

您可以在html:中使用类似这样的文本前缀动态构建它们

<input type="radio" name="radio_1" value="1" />

然后在PHP中这样访问它们:

$_POST['radio_' . $i];

你的for循环应该看起来像这个

for($i=1; $i<=2; $i++)

POST值应通过进行检查

$_POST[$i]

foreach循环在这种情况下会更好:例如:

$answer="";
foreach($_POST as $key => $value){
    $answer.= $value.",";
}
echo (!!$answer?$answer:'0,');