PHP数组拆分

时间:2014-12-19 14:10:52

标签: php arrays

我不确定这个问题是关于夹板的问题。我正在撞墙,因为我似乎无法找到最好的方法来做到这一点。

我有一个看起来像这样的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>';

3 个答案:

答案 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>';

}