我不确定这个问题是关于夹板的问题。我正在撞墙,因为我似乎无法找到最好的方法来做到这一点。
我有一个看起来像这样的mutlydimetional数组。
Array ( [0] => )
[20] => Array ( [0] => Time[s] [1] => B2 [2] => F3 [3] => C6 [4] => F7 )
[21] => Array ( [0] => 0.0 [1] => 57.68 [2] => 58.83 [3] => 58.95 [4] => 59.11 )
[22] => Array ( [0] => 0.5 [1] => 58.12 [2] => 59.21 [3] => 59.24 [4] => 59.43 )
这个数组可以用于数千个阵列。它是每几秒钟多点的温度读数。
我想要做的是将它分成多个页面或多个表,但是在相同的代码中迭代,以便我可以使用相同的背景或样式表。
表1结果1 - 10
1
2
3
4
5
..
表2结果11-21
11
12
13
14
15
......
等等。
我有这个屁。但它似乎只给了我整个清单。无论我尝试什么,我似乎无法弄清楚如何拆分它。任何帮助将是欣赏它。
echo '<table border="1">';
echo '<tbody>';
for ($row = 20; $row < $rows; $row++) {
echo '<tr>';
for ($col = 0; $col < 15; $col++) {
echo "<td>".$csvarray[$row][$col]."</td>";
}
echo '</tr>';
}
echo '</tbody></table>';
答案 0 :(得分:0)
您可能需要另一个循环:
for ($i = 0; $i < $max_rows; $i++) {
echo "<p>Table " . ($i + 1) . "</p><table>";
for ($j = ($i+1)* 20; ...) {
echo "<tr>";
for ($k = 0; $k < 15; $k++) {
echo "<td> .... </td>";
}
echo "</tr>";
}
echo "</table>";
}
$i
循环会创建Table X
标题。 $j
循环处理构建行,$k
循环句柄构建列。
答案 1 :(得分:0)
您可以使用array_slice()
功能。它就像数组的substr函数。
答案 2 :(得分:0)
好的,最后我使用了所有答案的组合,结果是有人正在寻找相同的问题。
$csvarray = array_chunk($csvarray, 20);
$tables = count($csvarray);
for ($table = 1; $table < $tables; $table++) {
echo '<table border="1">';
echo '<tbody>';
echo $table + 1;
$rows = count($csvarray[$table]);
for ($row = 0; $row < $rows; $row++) {
$vals = count($csvarray[$table][$row]);
echo '<tr>';
for ($val = 0; $val < $vals; $val++) {
echo "<td>".$csvarray[$table][$row][$val]."</td>";
}
echo '</tr>';
}