Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php foreach创建html表自动生成tr标记?_Php_Html - Fatal编程技术网

php foreach创建html表自动生成tr标记?

php foreach创建html表自动生成tr标记?,php,html,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>";

朋友们好,我想在一个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++;
}
$rri=0;
foreach($key=>$value){
如果($rri%2==0){
回声“;
回声“$rri.”;
回声“;
}否则{
回声“$rri.”;
}
$rri++;
}
这是我的php代码,它的returnoutput在下面

<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>

1.
2.
3.
4.
5.
我想这样输出

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

1.
2.
3.
4.
5.
foreachloop添加新的tr标记

我检查了奇数或偶数,但添加了不幸的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>';
echo';
$rri=0;
foreach($key=>$value相关){
如果($rri%2==0){
回声';
回声“.$rri.”;
}否则{
回声“.$rri.”;
回声';
}
$rri++;
}
回声';

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

<?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>

这应该行得通

$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++;
}
$rri=0;
foreach($key=>$value){
如果($rri%2==0){
如果($rri>0){
回声“;
}
回声“;
}
回声“$rri.”;
$rri++;
}
您可以试试这个

$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>";
$rri=1;
回声“;
foreach($key=>$value){
回声“$rri.”;
如果($rri%2==0){
回声“;
}
$rri++;
}
回声“;

for($i=0;$i
为什么不使用simple for loop而不是foreach?反正你需要迭代器,所以我想这会更好。另外,如果你从0开始迭代,请尝试%2==1。因为0%0=0:)这会导致无效的HTMLHY@弗洛伦特,但现在不是这样。它是?什么样的无效结果PeeHaa??我没有看到
$related
$key
$value begin在循环中的任何位置使用,因此为什么不使用直线
作为`循环并按
++2
递增?@DevlshOne,因为renishkhunt只是询问如何修复它。。也许她/他在真正的代码中使用了foreach,但在本示例中没有使用foreach,以便更容易解释。。。。。因此,把它放在一个循环中是不相关的…@PeeHaa为什么它会导致无效的html?如果你真的想变得有趣,只需回显所有
的列表,然后每隔两个循环使用
.wrapAll
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";
}
<?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>";?>