首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统计数组项并在一定数量后添加div

统计数组项并在一定数量后添加div
EN

Stack Overflow用户
提问于 2011-12-15 04:14:14
回答 4查看 1.2K关注 0票数 0
代码语言:javascript
复制
$specs = array ('Name' => 'Cleopatra', 'Year' => '2008', 'Length' => '20ft', 'Make' => 'manufacturer', 'Model' => 'model', 'Engines Count' => '2', 'Fuel' => 'Diesel', 'Rudder' => 'rudder', 'Keel' => 'keel', 'Price' => '$1'); 

foreach ($specs as $label => $detail) {
  echo "<tr>";  
  echo "<th>{$label}</th>";
  echo "<td>{$detail}</td>";
  echo "</tr>";
}

foreach循环在每行中返回1列。如何呈现每行4列,如下所示

代码语言:javascript
复制
   <tr>
      <th>Label</th>
      <td>Detail</td>
      <th>Label</th>
      <td>Detail</td>
      <th>Label</th>
      <td>Detail</td>
      <th>Label</th>
      <td>Detail</td>
    </tr>
    <tr>
      <th>Label</th>
      <td>Detail</td>
      <th>Label</th>
      <td>Detail</td>
      <th>Label</th>
      <td>Detail</td>
      <th>Label</th>
      <td>Detail</td>
    </tr>
EN

回答 4

Stack Overflow用户

发布于 2011-12-15 04:19:57

只需添加计数器,就像这样:

代码语言:javascript
复制
echo "<tr>";
foreach ($specs as $label => $detail) {
  if($i%4 == 0 && $i != 0) { 
    echo "</tr>";
    echo "<tr>";
  }
  echo "<th>{$label}</th>";
  echo "<td>{$detail}</td>";
  $i++;
}
echo "</tr>";

更新:固定边缘情况$i=0<tr>的顺序正确

票数 5
EN

Stack Overflow用户

发布于 2011-12-15 04:30:18

设置一个计数器,每4次迭代打印一个新的<tr>

代码语言:javascript
复制
$i = 0;
echo '<tr>';
foreach ($specs as $label => $detail) {
  if($i !== 0 && $i%4 === 0){
     echo '</tr><tr>';
  }
  echo "<th>{$label}</th>";
  echo "<td>{$detail}</td>";
  $i++;
}
echo '</tr>';
票数 1
EN

Stack Overflow用户

发布于 2011-12-15 04:41:14

如果你记得学校的数学,你可以使用mod operator来得到除法运算的剩余部分。这就是你需要得到你想要的东西。

代码语言:javascript
复制
 echo "<tr>"; 
foreach ($specs as $label => $detail) 
{
  $counter++;
  //get remainder of division by 4, when 1 create new row
 if ($counter % 4 == 1)
 {
  echo "</tr>"; 
  echo "<tr>"; 
 }
 echo "<th>{$label}</th>";
 echo "<td>{$detail}</td>";


}   
echo "</tr>"; 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8511028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档