我正在尝试使用 2 个数组元素在表行中循环 16 次。我知道我不能用 2 个数据元素循环 16 次,但我想显示一个有 16 行的表格,只有前 2 行会有数据,其他人会留空。与下图相同我试过这段代码,但它不是我想要的<th>No</th><th>Id</th><th>Name</th> for($i=1; $i<=16; $i++){<tr><td> echo $i </td>foreach($array as $a){<td> $a->id </td><td> $a->name </td>}</tr>}
1 回答
皈依舞
TA贡献1851条经验 获得超3个赞
您正在遍历整个数组 16 次。我假设您的数组中只有 2 个元素。我将假设它可能并不总是有 2 个元素,如果它有 8 个元素,您希望前 8 行填充数据,但您总是希望显示 16 行?
此外,我假设您的$array变量是数字索引的。
如果所有这些都是真的,那么您想要的是消除您的foreach,而只需按索引访问数组元素:
<thead>
<tr>
<th>No</th>
<th>Id</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<?php for ($i=0; $i<=15; $i++) {
if (!empty($array[$i])) { ?>
<tr>
<td><?= $i+1; ?></td>
<td><?= $array[$i]->id; ?></td>
<td><?= $array[$i]->name; ?></td>
</tr>
<?php }
else { ?>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
请注意,PHP 数组是从零开始的,因此我使用 0-15 而不是 1-16。
- 1 回答
- 0 关注
- 162 浏览
添加回答
举报
0/150
提交
取消