以3列N行显示表中的数据

时间:2014-06-29 16:19:57

标签: php html arrays

我有点坚持这一点,此刻看似愚蠢。

我有一组数组,可以有6到N的任意数量的元素

我现在无法修改网站的结构,但它是使用引导响应表创建的。我需要显示表中的每个元素,但最多有3列,包含N行。

喜欢这个

enter image description here

我这样做是为了获得行数

$rows=ceil(count($array)/3);

然后我做了几个以显示该分发中的表

for( $i=0; $i<$rows; $i++ ) {
<tr>  
    for($j=0;$j<3;$j++){
      <td>Value</td>
    }
</tr>
}

直到这里一切都很好,问题是我需要从0到N访问数组键,我还没弄明白如何

3 个答案:

答案 0 :(得分:0)

试试这样:

foreach($array as $val)) {

  echo '<div class="col-md-4">' . $val . '</div>';    

}

如果您的网站“网格”有12个字符,您可以使用col-sm-4col-md-4等类将您的元素拆分为3列。查看bootstrap手册以获取更多信息: http://getbootstrap.com/css/

答案 1 :(得分:0)

未经测试,但逻辑是这样的:

$i = 0;
foreach ($array as $a)
{
    if($i == 0 || $i % 3 == 0)
    {
        if ($i % 3 == 0)
        {
            echo "</tr>";
        }
        echo "<tr>";
    }
    echo "<td>" . $a . "</td>";
    $i++;
}
echo "</tr>";

答案 2 :(得分:0)

我设法使用array_key_exists和一个计数器。

$key = 0;
for( $i=0; $i<$rows; $i++ ) {
 <tr>  
    for($j=0;$j<3;$j++){
      if ( array_key_exists( $key, $array ) ) {
         <td>echo $array[$key]</td>  // if the index is in the array print the column
      }
    }
 </tr>
}
相关问题