带有$ _POST的变量变量

时间:2013-04-20 14:10:21

标签: php variables loops post variable-variables

我有一长串变量列表,最后有一个数字。例如,地址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;

}

3 个答案:

答案 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现在是一个包含所有地址的数组