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

如何在php循环中每行显示两个表列,php,html,loops,foreach,html-table,Php,Html,Loops,Foreach,Html Table,我想在foreach期间显示数据,每行两列。我希望我的结果如下所示: <table> <tr><td>VALUE1</td><td>VALUE2</td></tr> <tr><td>VALUE3</td><td>VALUE4</td></tr> <tr><td>VALUE5</td><td&g

我想在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价值2
价值3价值4
价值5价值6
任何帮助都将不胜感激

$i=0;
$i=0;
foreach ($x as $key=>$value)
  {
  if (fmod($i,2)) echo '<tr>';
  echo '<td>',$value,'</td>';
  if (fmod($i,2)) echo '</tr>';
  $i++;
  }
foreach($x为$key=>$value) { if(fmod($i,2))回显“”; 回显“”,$value“”; if(fmod($i,2))回显“”; $i++; }
这将每秒输出TR(行)


ps:我还没有测试代码,所以你可能需要添加!在fmod之前签名,如果它在第一次迭代时没有输出TR,但在开始的第二次迭代时…

您可以使用
array\u 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
的长度,这将为您提供出色的表和for循环概念--




谢谢,这非常有效。是的,我必须补充!第一个是fmod。@FredStevens Smith:与其说“不起作用”,不如说得详细一点。为什么不起作用?你收到错误了吗?如何改进呢?您的代码似乎包含错误
$i++
应该上移一行。我不认为这正是OP想要的。。。阅读问题。它应该=如果($i%2==0)回显“”;
<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>
<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>