我正在尝试构建一个循环结构,我知道最大循环数以及某些字段/输入的单独增量增加。考虑到这一点,我认为我应该追求嵌套的 for() 循环结构。
例如,假设回显的目标可能如下所示:
<table>
<tr>
<td><input id="1" secondaryId="1" ></td>
<td><input id="2" secondaryId="1" ></td>
<td><input id="3" secondaryId="1" ></td>
</tr>
<tr>
<td><input id="4" secondaryId="2" ></td>
<td><input id="5" secondaryId="2" ></td>
<td><input id="6" secondaryId="2" ></td>
</tr>
<tr>
<td><input id="7" secondaryId="3" ></td>
<td><input id="8" secondaryId="3" ></td>
<td><input id="9" secondaryId="3" ></td>
</tr>
<!-- etc -->
</table>
因此,此示例中的 id 在每个输入时增加一个,但在每三个输入后 secondaryId 都会增加。为了帮助进一步可视化,请考虑以下内容:
我在这一行尝试了一些代码:
<?php
echo"<table>";
for ($t=1;$t<4;$t++){
echo"<tr>";
for($y=1;$y<4;$y++){
echo"<td><input id='$y' secondaryId='$t'></td>";
}
echo"</tr>";
}
echo"</table>";
?>
很明显它不起作用,而是回显:
我明白为什么会出现问题,因为在父循环的每次迭代(正确的词?)中,$y
变量都会重置回 1。
如何操纵循环以便$y
在整个循环中递增?是否有我应该考虑的 foreach 组合?
另外,假设上面的“ id
”和“ secondaryId
”类型属性是固定的,不能更改。
我已经考虑过在 excel 的帮助下手动创建输入字段的最后手段,但这似乎很费力,并且考虑到我想要构建的输入字段是50 行( <tr>
) x 23 列( <td>
) ,这似乎会带来调试问题
> 更新:
我接受了 Fabio 的回答,因为它确实有效,我希望我也能接受 Maiden B. 的回答,因为这让我在一个循环中创建了一个数学解决方案。
我最终将使用的代码是:
$m = 0;
echo"<table>";
for($y=1;$y<4;$y++){
echo"<tr><td>
<input id='".(1 + ($m*3))."' secondaryId='$y' >
<input id='".(2 + ($m*3))."' secondaryId='$y' >
<input id='".(3 + ($m*3))."' secondaryId='$y' >
</td></tr>";
$m++;
}
echo"</table>";