我必须使用TCPDF打印表格,以便使用PHP从一系列内容中创建PDF。
在我的示例中,我将使用7个条目,但可以更多或更少。
$array = array(
0 => "[ ] Option 1",
1 => "[x] Option 2",
2 => "[ ] Option 3",
3 => "[ ] Option 4",
4 => "[x] Option 5",
5 => "[ ] Option 6",
6 => "[ ] Option 7",
...
);
我的表布局是动态的:我可以设置列数以进行显示($num_cols
可以是1、2、3或4列)
基于$ num_cols,我必须在每个TD单元中拆分数组的内容。
因此,如果我设置$num_cols = 4
,则需要显示类似的内容:
<table>
<tr>
<td>[ ] Option 1</td>
<td>[x] Option 2</td>
<td>[ ] Option 3</td>
<td>[ ] Option 4</td>
</tr>
<tr>
<td>[x] Option 5</td>
<td>[ ] Option 6</td>
<td>[ ] Option 7</td>
<td></td>
</tr>
</table>
我试图提出一些想法,但是在这个例子中我只能得到一行。我不知道如何创建外部循环:
echo "<table>";
echo "<tr>";
for ( $i = 0; $i < $num_cols; $i++ ) {
echo "<td>";
if ( isset($array[$i]) {echo $array[$i];} else {}
echo "</td>";
}
echo "</tr>";
echo "</table>";
答案 0 :(得分:4)
array-chunk将为您提供帮助:
<?php
$num_cols = 4;
$array = [1,2,3,4,5,6,7,8];
echo "<table>";
foreach (array_chunk($array, $num_cols) as $chunk) {
echo "<tr>";
foreach ($chunk as $item) {
echo "<td>";
echo $item;
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
,您可以从php中使用其他一些炫酷的东西:)
<?php
$num_cols = 4;
$array = [1,2,3,4,5,6,7,8];
echo "<table><tr><td>" .
implode("</td></tr><tr><td>",
array_map(function(array $part) {
return implode('</td><td>', $part);
}, array_chunk($array, $num_cols))
)
. "</td></tr></table>";
答案 1 :(得分:2)
userInput