将计数器添加到变量的末尾?

时间:2012-09-30 20:11:02

标签: php

我有一个包含使用$counter++计数的php循环,在循环中我想添加下面的代码,但在$Question&末尾回显计数器CheckboxGroup。我怎么能这样做?

$Question = $_POST["CheckboxGroup"];

所以每次循环都会产生这样的东西:

$Question1 = $_POST["CheckboxGroup1"];
$Question2 = $_POST["CheckboxGroup2"];
$Question3 = $_POST["CheckboxGroup3"];
$Question4 = $_POST["CheckboxGroup4"];
$Question5 = $_POST["CheckboxGroup5"];

3 个答案:

答案 0 :(得分:4)

不要这样做。而是创建一个数组:

foreach ($_POST['CheckboxGroup'] as $cg) {
   $Question = $cg;
}

在HTML标记中,您可以像这样创建数组值:

<input type='checkbox' name='CheckboxGroup[]' />
<input type='checkbox' name='CheckboxGroup[]' />
<input type='checkbox' name='CheckboxGroup[]' />

当被PHP接收时,它们将显示为数字索引数组,您可以像我上面那样循环。如果你想明确数组索引,你也可以这样做:

<input type='checkbox' name='CheckboxGroup[item1]' />
<input type='checkbox' name='CheckboxGroup[item2]' />
<input type='checkbox' name='CheckboxGroup[item3]' />

通过以下方式访问PHP:

$_POST['CheckboxGroup]['item2']

答案 1 :(得分:2)

不要将带索引的变量用作变量名称的一部分。这就是阵列的用途。

$Question[$counter] = $_POST['CheckboxGroup'.$counter];

答案 2 :(得分:2)

虽然你可以做类似

的事情
$cnt = 1;
$${'Question' . $cnt} = $_POST['Checkboxgroup' . $cnt];

这非常难看,非常快。你最好使用PHP的数组支持表单字段名称:

<input type="checkbox" name="checkboxgroup[]" value="..." />

$questions[1] = $_POST['checkboxgroup'][1];