我有一长串变量列表,最后有一个数字。例如,地址1和我一直在顶部地址14。我想从一个表单发布这些,而不是输入$ address1 = $ _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;
}
答案 0 :(得分:2)
你为什么不这样做:
for ($i=0; $i < 14; $i++) {
$address[$i] = $_POST['address'.$i];
}
答案 1 :(得分:0)
试试这个:
$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";
}
}
答案 2 :(得分:0)
您还可以在表单中使用数组语法:
<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现在是一个包含所有地址的数组