PHP表对齐在foreach循环中不正确

时间:2018-08-05 13:12:41

标签: php html-table

我想使用带有条件的foreach循环在连续3列的表中显示Array数据。

编码

$value[]='a';
$value[]='b';
$value[]='c';
$value[]='d';
$value[]='e';

echo '<table width=30% border=1>';  
    echo '<tr>';
        $counter=1; 

        foreach($value as $key){
            if($counter>=3){ // if there is more than 3 elements, go to next Row

                    if($counter%3==0){ // when the Array hit 3th,6th,9th,12th.... element
                        echo '</tr><tr><td>';               
                        echo $key;  
                        echo '</td>';                   
                    }else{
                        echo '<td>';
                        echo $key;              
                        echo '</td>';                       
                    }
            }else{
                echo '<td>';                
                echo $key;      
                echo '</td>';                   
            }           
            $counter++;
        }
    echo '</tr>';
echo '</table>';

我仔细检查了编码,但没有找到错误。...我的输出是图像的底部。但是,正确的图像应该位于图像的顶部。请看照片

enter image description here

有人知道我的编码有什么问题吗?

3 个答案:

答案 0 :(得分:1)

更改模态条件

if($counter % 3 == 1)

您将得到想要的东西

答案 1 :(得分:0)

您拥有“ if counter> = 3”,因此您要在第三个元素上达到该条件,而不是在第三个元素之后。

答案 2 :(得分:0)

将计数器的初始化更改为$counter=0;