变量 $_POST

Variable variables with $_POST

提问人:Ade 提问时间:4/20/2013 最后编辑:Ade 更新时间:4/20/2013 访问量:410

问:

我有一长串变量,末尾有一个数字。例如,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;

}

php variables 循环 post variable-variables

评论

0赞 bestprogrammerintheworld 4/20/2013
$_POST - bit 是什么意思?你没有表格吗?您是否正在尝试创建一个包含用户必须输入的姓名和地址的表单?然后,您希望使用 $_POST 获得这些值。这是你想要的吗?
0赞 Ade 4/20/2013
我在另一页中有一个表格。它按应有的方式发布字段,但我有 14 个相同的字段,但名称仅更改一位数字,因此 address1、address2、address3,一直到 address14。我需要创建一个循环以从发布它们的表单中接收这些内容。因此,在页面顶部,您使用 $_POST 函数创建一个新变量,我需要它,但需要 14 次。例如:$address 1 = $_POST [address1]、$address 2 = $_POST [address2],依此类推,直到地址 14。
0赞 bestprogrammerintheworld 4/20/2013
$address[0] 到 $address[$x] ?
0赞 Ade 4/20/2013
我知道我可以使用数组,但我正在尝试使用变量。
0赞 bestprogrammerintheworld 4/20/2013
为什么需要使用变量而不是数组?您能展示一下如何检索 $_POST 变量的代码吗?

答:

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
是的,它无需指定密钥即可工作。只是为了清楚起见而添加的,但你不需要它们。