0

我有一长串变量,最后有一个数字。例如address1,我一直到最高address14。我想从表单中发布这些,而不是输入 $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;

}

4

3 回答 3

2

为什么你不这样做:

for ($i=0; $i < 14; $i++) {
    $address[$i] = $_POST['address'.$i];
}
于 2013-04-20T14:24:31.340 回答
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";
    }
}
于 2013-04-20T14:26:29.080 回答
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 现在是一个包含所有地址的数组

于 2013-04-20T14:56:18.527 回答