我希望做以下事情:
for ($i=0; $i<=$number_of_bundles; $i++) {
$rug_size . $i = $_POST['Size' . $i];
}
不幸的是,这不起作用,因为我得到“未定义的索引”,当我尝试回声时,例如,$ rug_size1未定义。
这样的事情怎么办?
答案 0 :(得分:3)
假设您将$rug_size
初始化为array()
:
$rug_size[$i] = $_POST['Size' . $i];
如果你真的想使用不同的变量名(希望不是):
$vn = 'rug_size' . $i;
$$vn = $_POST['Size' . $i];
答案 1 :(得分:2)
你需要在{}内包装你的动态变量(和 Dot 的concat字符串),如:
<?php
$i = 1;
${"rug_size".$i} = "Hello world!";
echo $rug_size1;
?>
输出:
Hello world!
答案 2 :(得分:2)
schould的工作方式如下:
for ($i=0; $i<=$number_of_bundles; $i++) {
$varname = 'rug_size'.$i;
$$varname = $_POST['Size'.$i];
}
答案 3 :(得分:0)
这样做。
for ($i=0; $i<=$number_of_bundles; $i++) {
${'rug_size' . $i} = $_POST['Size' . $i];
}
答案 4 :(得分:-1)
如果我没错,
$_POST['Size' , $i]
将是(即点而不是逗号)
$_POST['Size'. $i]
避免错误的另一种方法:使用isset()
for ($i=0; $i<=$number_of_bundles; $i++) {
if(isset($_POST['Size' . $i]))
{
$rug_size . $i = $_POST['Size' . $i];
}
}