是否可以使用$i在for循环中定义PHP变量?

是否可以使用$i在for循环中定义PHP变量?,php,variables,dynamic,Php,Variables,Dynamic,我希望做如下工作: for ($i=0; $i<=$number_of_bundles; $i++) { $rug_size . $i = $_POST['Size' . $i]; } for($i=0;$i如果我没有错 $_POST['Size' , $i] 将是(即点而不是逗号) 另一种避免错误的方法:使用isset() for($i=0;$i如果我没有错 $_POST['Size' , $i] 将是(即点而不是逗号) 另一种避免错误的方法:使用isset() 对于(

我希望做如下工作:

for ($i=0; $i<=$number_of_bundles; $i++) {

    $rug_size . $i = $_POST['Size' . $i];

}

for($i=0;$i如果我没有错

$_POST['Size' , $i]
将是(即点而不是逗号)

另一种避免错误的方法:使用isset()


for($i=0;$i如果我没有错

$_POST['Size' , $i]
将是(即点而不是逗号)

另一种避免错误的方法:使用isset()


对于($i=0;$i您需要将动态变量包装在{}中(以及带有点的concat字符串),如:


您需要将动态变量包装在{}(以及带有点的concat字符串)中,如:


我们可以这样工作:

for ($i=0; $i<=$number_of_bundles; $i++) {
    $varname = 'rug_size'.$i;
    $$varname = $_POST['Size'.$i];
}

for($i=0;$i可以这样工作:

for ($i=0; $i<=$number_of_bundles; $i++) {
    $varname = 'rug_size'.$i;
    $$varname = $_POST['Size'.$i];
}

对于($i=0;$i假设您将
$rug\u size
初始化为
数组()

如果您真的想使用不同的变量名(希望不是):


假设您将
$rug\u size
初始化为
数组()

如果您真的想使用不同的变量名(希望不是):

像这样做

for ($i=0; $i<=$number_of_bundles; $i++) {

    ${'rug_size' . $i} = $_POST['Size' . $i];
}
对于($i=0;$i请这样做

for ($i=0; $i<=$number_of_bundles; $i++) {

    ${'rug_size' . $i} = $_POST['Size' . $i];
}

对于($i=0;$iSorry),出于某种原因,我在我的问题中使用了逗号。在我的测试中,我使用了点,但它似乎不起作用。@RaphaelRafatpanah您确定输入类型的名称为size1、size2等吗?是的,我确定。大小以大写字母s.$rug\u Size.$i(作为变量)如果PHP真的提示未定义索引,我建议您检查var\u dump($\u POST)或用isset()将其包装正在检查。抱歉,出于某种原因,我的问题使用了逗号。在我的测试中,我使用了点,但它似乎不起作用。@RaphaelRafatpanah您确定输入类型的名称为size1、size2等吗?是的,我确定。大小以大写s.$rug_Size.$I(作为变量)如果PHP真的提示未定义索引,我建议您检查var\u dump($\u POST)或用isset()将其包装检查。无论何时,只要你认为你想要这个,你实际上想要的是一个数组!谢谢,我学到了我的经验!无论何时,你认为你想要这个,你实际上想要的是一个数组!谢谢,我学到了我的经验!这不起作用,因为它在for循环中。意外{.Using${}是一种创建动态变量的方法,但由于它位于for循环内,因此无法正常工作。意外的{。使用${}是一种创建动态变量的方法W,这是一个非常简单和聪明的答案。谢谢!哇,这是一个非常简单和聪明的答案。谢谢!
$rug_size[$i] = $_POST['Size' . $i];
$vn = 'rug_size' . $i;
$$vn = $_POST['Size' . $i];
for ($i=0; $i<=$number_of_bundles; $i++) {

    ${'rug_size' . $i} = $_POST['Size' . $i];
}