php foreach创建html表autometic生成tr标签?

时间:2013-11-27 12:58:18

标签: php html

你好朋友我想在一个tr中显示两个td标签。 这是写入foreach循环。

这是我的代码。

$rri=0;
foreach ($related as $key => $value) {
    if($rri % 2 == 0 ){
          echo "<tr class='dsfdsf'>";
          echo "<td >".$rri."</td>";
              echo "</tr>";
    }else{
          echo "<td >".$rri."</td>";
    }

     $rri++;
}

这是我的PHP代码,它返回输出

<table>
<tr class='dsfdsf'>
    <td>1</td>
</tr>
<tr>
    <td>2</td>
</tr>
<tr class='dsfdsf'>
    <td>3</td>
</tr>
<tr>
    <td>4</td>
</tr>
<tr class='dsfdsf'>
    <td>5</td>
</tr>
 </table>

我想像这样输出

<table>
<tr>
    <td>1</td>
    <td>2</td>
</tr>
<tr>
    <td>3</td>
    <td>4</td>
</tr>
<tr>
    <td>5</td>
</tr>
</table>

foreachloop添加新的tr标签。

我检查了奇数,甚至这是有效的,但是添加了不幸的tr。

请帮忙,

谢谢。

6 个答案:

答案 0 :(得分:3)

希望这有助于以不同但有效的方式找到您的解决方案:

<?php
    $related = array(1,2,3,4,5);
    $chunk   = 2;
?>

<table>
    <?php foreach (array_chunk($related, $chunk) as $row): ?>
    <tr>
        <?php foreach ($row as $val): ?>
        <td><?php echo $val; ?></td>
        <?php endforeach; ?>
    </tr>
    <?php endforeach; ?>
</table>

答案 1 :(得分:0)

</tr>置于if并将其设置为else语句。

echo '<table>';
$rri=0;
foreach ($related as $key => $value) {        
    if($rri % 2 == 0 ){
        echo '<tr class="dsfdsf">';
        echo '<td>'.$rri.'</td>';

    }else{
        echo '<td>'.$rri.'</td>';
        echo '</tr>';
    }
    $rri++;
}
echo'</table>';

答案 2 :(得分:0)

这应该有效

$rri=0;
foreach ($related as $key => $value) {
    if($rri % 2 == 0 ){
        if($rri  > 0){
            echo "</tr>";
        }
        echo "<tr class='dsfdsf'>";
     }

     echo "<td>".$rri."</td>";

     $rri++;
}

答案 3 :(得分:0)

你可以试试这个

$rri=1;
echo "<tr class='dsfdsf'>";
foreach ($related as $key => $value) {

    echo "<td >".$rri."</td>";
    if($rri % 2 == 0 ){
        echo "</tr><tr>";
    }
    $rri++;
}
echo "</tr>";

答案 4 :(得分:0)

<?php
$related=array('1','2','3','4');
$rri=0;
 echo "<table border=1 width=500>";
foreach ($related as $key => $value) {
    if($rri % 2 == 0 || $rri==0 ){
          echo "<tr class='dsfdsf'>";
        }
     echo "<td >".$rri."</td>";
      if($rri/2 == 0 && $rri!=0 ){
       echo "</tr>"  ; 
       }

     $rri++;
} echo "</table>";?>

试试这个

答案 5 :(得分:-1)

for ($i = 0; $i <= $rri; $i+=2) {
    echo "<tr class='dsfdsf'>\n";
    echo "<td>$i</td>\n";
    echo "<td>$i+1</td?\n";
    echo "</tr>\n";
}