我在结尾处发布了一个具有相同输入名称+ id的表单:
<input type="text" name="machine_1">
<input type="text" name="machine_11">
<input type="text" name="machine_23">
如何在每个循环上循环并获取循环中的id?
我试过这种方式,但它会循环很多而没有任何数据,如果有更多的感谢100 id会发生什么?
for($i=0; $i<100; $i++){
$_POST["machine"]=$_POST["machine_".$i];
$id=$i;
}
答案 0 :(得分:1)
POST
是一个关联数组,因此您可以遍历已发布的所有内容,如下所示:
//$k contains the id
//$v contains the submitted value
foreach($_POST as $k => $v) {
//test if id contains 'machine'
if(stristr($k, 'machine')) {
echo $v;
}
}
答案 1 :(得分:0)
您可以使用foreach循环执行此操作,如下所示:
foreach($_POST as $key => $value) {
echo "POST parameter '$key' has '$value';
}
答案 2 :(得分:0)
在您的代码中,您有:
$_POST["machine"]=$_POST["machine_".$i];
这不是正确的方法。您希望将$_POST["machine_".$i]
的值存储到$id
,然后在下面使用它。
这可能就是你所需要的:
for($i=1; $i<100; $i++){
$id = $_POST["machine_".$i];
echo $id;
}
如果有超过100个元素,并且您不知道输入的数量,那么您可以使用foreach
循环,如下所示:
$i = 1; // counter variable
foreach ($_POST as $key => $input) {
if($key == "machine_".$i) {
$id = $input; // or simply 'echo $input'
echo $id;
}
$i++; // increment counter
}
答案 3 :(得分:0)
$_POST["machine"]=$_POST["machine_".$i];
这里$ _POST ['machine']表示注意..如何为$ _POST ['machine']分配一个值..你还没有在提交表单时传递任何名为 machine 的元素..首先,你需要检查它