如何在php循环中每行显示两个表格列

Posted

技术标签:

【中文标题】如何在php循环中每行显示两个表格列【英文标题】:How to display two table columns per row in php loop 【发布时间】:2010-12-20 02:32:39 【问题描述】:

我想在我的 foreach 期间显示数据,每行两列。我希望我的结果如下所示:

 <table>
 <tr><td>VALUE1</td><td>VALUE2</td></tr>
 <tr><td>VALUE3</td><td>VALUE4</td></tr>
 <tr><td>VALUE5</td><td>VALUE6</td></tr>
 </table>

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:
<table>
<?php
   $i=0;
   foreach ($x as $key=>$value)
   
      if (!$i%2) echo '<tr>';
      echo '<td>',$value,'</td>';
      if ($i%2) echo '</tr>';
      $i++;
   
?>
</table>

【讨论】:

应该 = if ($i%2 == 0) echo ''; 【参考方案2】:

这将为您提供出色的表格和 for 循环概念--

<table border="1" cellspacing="0" cellpadding="2">

<?php

     for($x=1; $x<=20; $x++)
        
         echo "<tr>";
        for($y=1; $y<=20; $y++)
           
          echo "<td>";
          echo $x*$y;
          echo "</td>"; 
           
         echo "</tr>";
        
?>
</table>

【讨论】:

我不认为这正是 OP 想要的...阅读问题。【参考方案3】:

您可以使用array_chunk() 将数据数组拆分为更小的数组,在这种情况下,每行的长度为 2。

<table>
<?php foreach (array_chunk($values, 2) as $row)  ?>
    <tr>
    <?php foreach ($row as $value)  ?>
        <td><?php echo htmlentities($value); ?></td>
    <?php  ?>
    </tr>
<?php  ?>
</table>

请注意,如果您有奇数个值,这将留下最后一行只有一个单元格。如果您想在必要时添加一个空单元格,您可以检查外部foreach$row 的长度。

【讨论】:

【参考方案4】:
$i=0;
foreach ($x as $key=>$value)
  
  if (fmod($i,2)) echo '<tr>';
  echo '<td>',$value,'</td>';
  if (fmod($i,2)) echo '</tr>';
  $i++;
  

这将每秒输出一次TR(行)

ps:我还没有测试过代码,所以也许你需要添加!在 fmod 之前签名,如果它在第一次迭代时不输出 TR,而是在开始的第二次迭代时输出......

【讨论】:

谢谢,这很好用。是的,我必须先添加 !fmod。 @FredStevens-Smith:与其说“不起作用”,不如详细说明一下。为什么它不起作用?你收到错误了吗?怎样才能更好? 您的代码似乎包含错误; $i++ 应该上移了一行。

以上是关于如何在php循环中每行显示两个表格列的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Javascript 中循环遍历 HTML 表中的复选框行

excel表格中如何让第一列始终显示并打印

UiPath如何实现将表格中资料循环录入网页或系统?

如何使用电子表格中的两个不同列制作按图分组的条形图?

如何遍历一个DataTable中的每行每列,并且为每行每列的最后一列赋值

如何循环遍历行,然后在每行循环遍历列直到找到NA,然后提取前一列的值