计算数组项并在特定数字后添加div

Cyb*_*kie 0 php arrays foreach loops

$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>";
}
Run Code Online (Sandbox Code Playgroud)

foreach循环在每行中返回1列.如何像每行渲染4列一样

   <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>
Run Code Online (Sandbox Code Playgroud)

Sla*_*Nov 5

只需添加计数器,如下所示:

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>";
Run Code Online (Sandbox Code Playgroud)

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