提问人:Ade 提问时间:4/20/2013 最后编辑:Ade 更新时间:4/20/2013 访问量:410
变量 $_POST
Variable variables with $_POST
问:
我有一长串变量,末尾有一个数字。例如,address1 和我一直有顶部 address14。我想从表单中发布这些,但不想输入 $address 1 = $_POST[address1] 我想创建一个循环 14 次的循环,并在变量名称和 $_POST 部分中更改地址末尾的数字......
我正在努力做到这一点。我有一个创建变量的循环,但我不断收到错误,因为它没有做 $_POST 位。
有人可以帮忙吗?谢谢。
这是我目前所拥有的:
$x = 0;
while($x < 14) {
$address = "address" . $x;
$address = $$address;
$string = "<p>Address$x:" . $address[0] . "</p>";
echo $string;
$x = $x + 1;
}
答:
2赞
Fosfor
4/20/2013
#1
你为什么不这样做:
for ($i=0; $i < 14; $i++) {
$address[$i] = $_POST['address'.$i];
}
0赞
J.D. Pace
4/20/2013
#2
试试这个:
$addresses = array();
for( $x = 0; $x <= 14; $x++ )
{
$address_field = "address" . $x;
if( array_key_exists( $address_field, $_POST ) ) {
$addresses[$x] = $_POST[$address_field];
echo '<p>Address', $x, ': ', $addresses[$x], "</p>\n";
}
}
0赞
Frédéric Clausset
4/20/2013
#3
您也可以在表单中使用数组语法:
<input type="text" name="address[1]" />
<input type="text" name="address[2]" />
<input type="text" name="address[3]" />
... up to 14
在 PHP 中:
$address = $_POST['address'];
$address 现在是一个包含所有地址的数组
评论
0赞
Aris
4/20/2013
在 Name 中,您不需要指定元素。所有元素的 name=“address[]” 都可以正常工作。
0赞
Frédéric Clausset
4/20/2013
是的,它无需指定密钥即可工作。只是为了清楚起见而添加的,但你不需要它们。
上一个:echo 变量变量名称
下一个:PHP 变量对象属性
评论